当您单击用户表单中的提交以填充下一行中的数据时

问题描述 投票:0回答:1

我刚刚创建了用户表单,但正在努力获取下一行的数据。如果单击提交,我将设法选择下一个单元格,然后再次运行用户窗体时,所有数据将像以前一样粘贴到相同的单元格中。这是用户表单上“提交”命令的VBA部分:

Private Sub CommandButton2_Click()
    Sheets("Test").Range("A2").value = TextBox3.value
    Sheets("Test").Range("B2").value = TextBox4.Text
    Sheets("Test").Range("C2").value = TextBox5.Text
    Sheets("Test").Range("D2").value = TextBox6.Text
    Sheets("Test").Range("E2").value = ComboBox1.Text

    Unload Me
End Sub

因此,我需要的是每次我按提交转到下一行并粘贴用户窗体中的所有数据。有人需要帮助吗?

vba range row userform
1个回答
0
投票

请尝试此代码。在呈现数据的方式中,看起来列(从A到E)具有相同的行数。如果不是,则必须在填充各列中的数据之前计算lastRow

Private Sub CommandButton2_Click()
  Dim sh As workseet, lastRow As Long
  Set sh = Sheets("Test") 'it would be better to fully difine it (workbook included)
  lastRow = sh.Range("A" & Rows.count).End(xlUp).Row + 1
    sh.Range("A" & lastRow).value = TextBox3.value
    sh.Range("B" & lastRow).value = TextBox4.text
    sh.Range("C" & lastRow).value = TextBox5.text
    sh.Range("D" & lastRow).value = TextBox6.text
    sh.Range("E" & lastRow).value = ComboBox1.value

    Unload Me
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.