我正在学习 Excel VBA,但我遇到了困难。
我有一个电子表格,在其中构建了一个用户表单。此用户表单填充第 14 行,从 A 到 AK。
现在我已经能够使用此代码从表单中复制数据(其中一部分需要很长时间才能在此处完全复制):
'Date
Sheet1.Range("A14") = DTPicker1
'AC Type
Sheet1.Range("b14") = ComboBox1
'AC Reg
Sheet1.Range("C14") = TextBox3
'Pic
Sheet1.Range("d14") = TextBox5
'co-pilot
Sheet1.Range("e14") = TextBox4
'from
Sheet1.Range("f14") = TextBox7
'to
Sheet1.Range("g14") = TextBox6
'remarks
Sheet1.Range("h14") = TextBox8
现在我想做的是,如果 A14 已填充,那么所有写入 14 的内容都会切换到 15,依此类推。
有什么办法可以做到这一点吗?
最佳答案
按照这些思路应该可以工作(未经测试):
Static rng As Range
If rng Is Nothing Then
Set rng = Sheet1.Range("A14")
Do While rng.Value <> ""
Set rng = rng.Offset(1)
Loop
End If
'Date
rng.Range("A1").Value = DTPicker1
'AC Type
rng.Range("B1").Value = ComboBox1
'AC Reg
rng.Range("C1").Value = TextBox3
'Pic
rng.Range("D1").Value = TextBox5
'co-pilot
rng.Range("E1").Value = TextBox4
'from
rng.Range("F1").Value = TextBox7
'to
rng.Range("G1").Value = TextBox6
'remarks
rng.Range("H1").Value = TextBox8
'Point to the next line
Set rng = rng.Offset(1)
关于excel - 如果第一行已填充,则让 Excel 切换到下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32868670/