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

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 了解如何找到最后一行。

【讨论】:

以上是关于如何使用变量“最后一行号”来设置另一列中的范围的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 mySQL 返回另一列中每个值的最常见列值?

如何在保持在另一列范围内的同时锻炼列中两个值之间的差异?

如何参考r中另一列中的另一个单元格值更改列中的单元格值?

使用 PySpark 连接与另一列中的两列确定的范围相匹配的数据框

如果匹配,如何合并两个数据帧并从新列中的另一列返回数据?

如何根据另一列设置熊猫数据框背景颜色