【问题标题】:Click submit in userform to fill data in next row点击用户表单中的提交以在下一行填写数据
【发布时间】:2020-09-06 21:53:19
【问题描述】:

我创建了一个用户表单。

如果我点击提交,我会选择下一个单元格。当我再次运行用户表单时,数据会像以前一样粘贴到相同的单元格中。

这是用户窗体上“提交”命令的 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

当我按下提交转到下一行并粘贴来自用户表单的所有数据时,我需要。

【问题讨论】:

标签: excel vba range row userform


【解决方案1】:

请试试这个代码。在您呈现数据的方式中,看起来列(从 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

【讨论】:

  • 您好 FaneDuru,我更改为工作表并添加了您建议的这些行,它正在工作。我将不得不添加更多的行,但它会像这里的这些一样。非常感谢您的帮助。
  • @Dino Blažević:很高兴我能提供帮助!但是我们在这里,如果有一段代码回答了问题,我们勾选左侧代码侧的复选框,以使其接受答案。如果其他人搜索类似的东西,他会知道答案可以满足需要......
猜你喜欢
  • 2013-10-18
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-28
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
相关资源
最近更新 更多