繁体   English   中英

如何使用变量“最后一行号”在另一列中设置范围

[英]how to use variable "last row number" to set the range in another column

数据文件具有从 A1 到 A10 的值 1 到 10。

      A    B
1     1    1
2     2    1
3     3    1
4     4    1
5     5    2
6     6    2
7     7    2
8     8    2
9     9    2
10    10   3

我需要在我的数据文件中插入一列(例如 B 列)。 在单元格 B1 中有一个公式(例如:(=INT(A1/5)+1))。 我通常双击单元格 B1 的右下角,这会自动将 B 列中的其余单元格自动填充到 A 列中包含数据的行中(如上表所示)

通过使用记录宏,它给了我下面的代码:

Range("B1").Select
Selection.AutoFill Destination:=Range("B1:B10")
Range("B1:B10").Select

问题是数据文件的最后一行编号与数据不同(可能是第 8 行或第 14 行)。 因此,如上创建的宏将不适合其他数据文件。

我知道在下面使用宏,它会找到包含数据的最后一行。

lastRow = Range("A99999").End(xlUp).Row

如何用变量替换“B1:B10”范围内的 B10? 我想要一个通用的宏。 有人可以帮忙吗? 赞赏!!

另外,添加到我的评论中,记录是一个很棒的工具,但会添加一些不必要的“选择”语句。 您的台词(带有 lastrow)可以是:

Range("B1").AutoFill Destination:=Range("B1:B" & lastrow)

为此,您不需要自动填充。 您可以一次性将公式分配到整个范围

Range("B1:B" & Lrow).Formula = "=INT(A1/5)+1"

其中LRow是 LastRow。

lastRow = Range("A99999").End(xlUp).Row

请不要硬编码99999值来查找最后一行。 有关如何查找最后一行的信息,请参见THIS

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM