尝试自动填充最后一行数据

时间:2016-08-11 13:35:02

标签: excel vba macros

所以我想用VLOOKUP填充一列。我想用数据填充从当前单元格到最后一行的范围。我已经查看了这里的问题,我已经查看了其他示例,它应该可以工作,但它所做的就是停在第一个空白区域。我试图在D3中进行vlookup并使用数据自动填充到最后一行。到目前为止,这是我的代码。

Dim lastRow As Long
lastRow = Range("D" & Rows.Count).End(xlUp).Row
Range("D3").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[2],Messages.csv!C1:C18,15,FALSE)"
Range("D3").Select
Selection.AutoFill Destination:=Range("D3:D" & lastRow)

我的设置有什么问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

试试这个(假设ActiveCell是D3):

Range(Range("D3"),Range("D" & lastrow)).FillDown

答案 1 :(得分:0)

您应该避免使用.Select.ActiveCell等方法。试试这个:

Dim lastRow As Long
lastRow = Range("D" & Rows.Count).End(xlUp).Row
Range("D3:D" & lastRow) = "=VLOOKUP(RC[2],Messages.csv!C1:C18,15,FALSE)"

我支持lastRow并不代表您要查找的最后一行,请将其更改为:

lastRow = Range("<column with the last row you are looking for>" & Rows.Count).End(xlUp).Row

(显然不是那个文字,我认为它可能是列CF