如何使用变量“最后一行号”来设置另一列中的范围
Posted
技术标签:
【中文标题】如何使用变量“最后一行号”来设置另一列中的范围【英文标题】:how to use variable "last row number" to set the range in another column 【发布时间】:2013-10-16 17:19:46 【问题描述】:数据文件从 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 替换为变量? 我想要一个通用的宏。有人可以帮忙吗?赞赏!!
【问题讨论】:
Range("B1:B" & lastrow).Select 【参考方案1】:另外,添加到我的评论中,录制是一个很棒的工具,但可以添加一些不必要的“选择”语句。您的台词(带有 lastrow)可以是:
Range("B1").AutoFill Destination:=Range("B1:B" & lastrow)
【讨论】:
【参考方案2】:您不需要自动填充。您可以一次性将公式分配到整个范围
Range("B1:B" & Lrow).Formula = "=INT(A1/5)+1"
LRow
是 LastRow。
lastRow = Range("A99999").End(xlUp).Row
请不要硬编码像99999
这样的值来查找最后一行。请参阅THIS 了解如何找到最后一行。
【讨论】:
以上是关于如何使用变量“最后一行号”来设置另一列中的范围的主要内容,如果未能解决你的问题,请参考以下文章