我的宏中有一行:
Selection.AutoFill Destination:=Range("A2:A86893")
但每次运行宏时,最终单元格编号 (86893)(即我的数据中的总行数)都应该更改。我需要这个宏,因为我的数据量每次都在增加,但到目前为止,我不得不手动更改地址。
是否可以将公式而不是单元格编号放入范围定义中,例如:
A2:A(counta(b:b))
其中公式counta(b:b)
给出了总行数。
答案1
是的,您只需构造提供范围地址的字符串即可。对于您的情况,您可以执行以下操作:
Range("A2:A" & CStr(Evaluate("=CountA(B:B)"))
定义您想要填充的范围。
Select
另外一条建议是,在定义范围时,你应该尽量避免使用-statements。尝试这读起来很有趣。
答案2
要查找范围内的最后一个值,请使用这个简单的代码片段 -
Dim lrow As Integer
lrow = Cells(Rows.Count, "B").End(xlUp).Row
现在你可以在你的范围内使用它Range("A2:A"&lrow)