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
我的 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