1

数据文件的值从 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?我想要一个通用的宏。有人可以帮忙吗?赞赏!!

4

2 回答 2

2

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

Range("B1").AutoFill Destination:=Range("B1:B" & lastrow)
于 2013-10-16T17:22:44.277 回答
-1

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

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

LRowLastRow在哪里。

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

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

于 2013-10-16T17:39:47.757 回答