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

所以我想用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) 

我的设置有什么问题?

谢谢!

你应该避免像.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)" 

我supposte lastRow不代表你正在寻找的最后一行,更改为:

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

(显然不是那个文本,我想这可能是CF列)

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

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