在VBA中Range("a1").End(xlDown).Row
1个回答
展开全部
在循环语句内使用的话,很容易出错,因为其值不会变化,
所以要放到循环语句前,取得最后一行的值,
另外,使用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
所以要放到循环语句前,取得最后一行的值,
另外,使用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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询