希望在单元格中自动插入VLOOKUP公式。 录制宏时,我指示它使用相同的公式填充下面的列。工作得很好,但是,当VLOOKUP搜索的表发生更改(更多或更少的行)时会出现问题。
随着记录,VLOOKUP下降到表格中的最后一行(273)。但是,我想设置它以便它将下到最后一行。这意味着我可以在不同行数的表上运行脚本。
所选列将保持不变。
Range("AJ2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-20], Previous!R2C2:R273C22,17,FALSE)"
答案 0 :(得分:1)
@nbayly说,关于此的帖子很多。事实上,我在此之前已经提供了答案:
How to Replace RC Formula Value with Variable
下面的略微修改了动态范围,我相信你正在寻找
For j = n To 10 Step -1
If Cells(j, 1).Value = "" Then
Cells(j, 1).Formula = "=VLookup(RC20,Previous!R2C2:R273C22,17,FALSE)"
End If
Next j
记得将j定义为long n=sheets("sheetname)".cells(rows.count,1).end(xlup).row
在j = n to 10 with the starting row number
答案 1 :(得分:1)
试试这个:
With Worksheets("Previous")
Range("AJ2").FormulaR1C1 = _
"=VLOOKUP(RC[-20], Previous!R2C2:R" & .Cells(.Rows.Count, 2).End(xlUp).Row & "C22,17,FALSE)"
End With
其中:
Range("AJ2")
将隐式引用ActiveSheet
.Cells(.Rows.Count, 2).End(xlUp).Row
将参考" Previous"工作表,位于With Worksheets("Previous")- End With
块内