如何确定数据中的行数,并使用该值定义范围

如何确定数据中的行数,并使用该值定义范围

我的宏中有一行:

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)

相关内容