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

时间:2013-10-16 17:19:47

标签: excel-vba vba excel

数据文件的值从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? 我想有一个共同的宏。有人可以帮忙吗?理解!!

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

LRow是LastRow。

  

lastRow = Range(“A99999”)。End(xlUp).Row

请勿对99999之类的值进行硬编码以查找最后一行。有关如何查找最后一行的信息,请参阅THIS