【问题标题】:how to use variable "last row number" to set the range in another column如何使用变量“最后一行号”来设置另一列中的范围
【发布时间】:2022-01-10 20:02:15
【问题描述】:

数据文件从 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

标签: excel vba


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多