VBA 输入数据时跳过单元格

VBA skips cells when data is entered

我的 VBA 代码有问题,也许有人可以解释我在哪里犯了错误以及如何解决。 我的目标是在不跳过单元格的情况下创建 7 列。 我有 7 个文本框,但并非每次输入数据时都必须填写所有文本框。 当仅在名称文本框中添加数据时,它会创建新行,但当仅添加姓氏时,它会跳过第一个空行并在名称条目下按对角线输入(如附件中所示)Excel img

另外在其他文本框中添加条目时出现错误,输入的数据只是移动了。

Private Sub CommandButton1_Click()

   Dim LR As Long

   LR = Cells(Rows.Count, 1).End(xlUp).Row + 1

   Cells(LR, 1).Value = Name.Value
   Cells(LR, 2).Value = Surname.Value
   Cells(LR, 3).Value = Address.Value
   Cells(LR, 4).Value = Phone.Value
   Cells(LR, 5).Value = City.Value
   Cells(LR, 6).Value = Car.Value
   Cells(LR, 7).Value = Job.Value

   Name.Value = ""
   Surname.Value = ""
   Address.Value = ""
   Phone.Value = ""
   City.Value = ""
   Car.Value = ""
   Job.Value = ""


End Sub

你总是在寻找A列的最后一行,这就是为什么它在A列的最后一行下面添加了一行姓氏。如果你想知道另一列的最后一行,你需要改变Rows.Count后的1变成对应的数字。您也可以在一行中执行此操作,看一看:

Private Sub CommandButton1_Click()

   Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = Name.Value
   Cells(Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).Value = Surname.Value
   Cells(Cells(Rows.Count, 3).End(xlUp).Row + 1, 3).Value = Address.Value
   Cells(Cells(Rows.Count, 4).End(xlUp).Row + 1, 4).Value = Phone.Value
   Cells(Cells(Rows.Count, 5).End(xlUp).Row + 1, 5).Value = City.Value
   Cells(Cells(Rows.Count, 6).End(xlUp).Row + 1, 6).Value = Car.Value
   Cells(Cells(Rows.Count, 7).End(xlUp).Row + 1, 7).Value = Job.Value

   Name.Value = ""
   Surname.Value = ""
   Address.Value = ""
   Phone.Value = ""
   City.Value = ""
   Car.Value = ""
   Job.Value = ""

End Sub