在VBA中Range("a1").End(xlDown).Row值会时对时错是什么原因

发布网友 发布时间:2024-10-23 17:28

我来回答

3个回答

热心网友 时间:2024-10-31 09:59

在循环语句内使用的话,很容易出错,因为其值不会变化,
所以要放到循环语句前,取得最后一行的值,
另外,使用Range("a1").End(xlDown).Row如果A列第一行下面全为空,
则得到表的最后一行65536,容易出错,
建议使用Range("a65536").End(xlUp).Row
Sub a()
Dim i As Long
Dim r As Long
r = Range("a1").End(xlDown).Row
For i = 1 To 10
r = r + 1
Cells(r, 1) = i
Next i
End Sub

热心网友 时间:2024-10-31 10:03

请参考

热心网友 时间:2024-10-31 09:55

如果你是统计资料表中的行数的话需
把Range("a1").End(xlDown).Row更改成
Range("A65536").End(xlUP).Row也可以解决你的问题
试试看吧

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com