excel - 输入数据时 VBA 跳过单元格
问题描述
我的 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
推荐阅读
- reactjs - useState 不将状态更新为仅 0 和 1
- python - 如何更改我们从 youtube-search-python 包中获得的结果?
- javascript - 角度 6+ 中未定义的 Cookie 值
- facebook - Instagram 过期媒体链接
- c# - 数组的笛卡尔积与自身可变次数?
- vue.js - Vuex store.watch 只接受 Vue router guard 中的一个函数
- node.js - 消费者驱动的合同测试与行为测试
- google-apps-script - 谷歌应用脚本 | 页眉和页脚 | 替换文本
- android - FirebaseFirestore CRUD,抛出异常
- django - 为什么在 django admin 外键中显示属性值,但在角度和数据库中它返回 id?