我想知道是否可以将此函数存储为变量。当我使用vlookups时,如果从源工作表中添加/删除行,则希望我的代码能够适应。
例如,不是将“ 2402”硬编码到此vlookup中。我可以在此处放置一个可以引用行计数公式的变量吗?
Cells(xlRow, 149).Formula = "=VLOOKUP(EG" & xlRow & "," & FILEPATH & "RDWY'!$A$2:$N$2402,6,0)"
我知道我可以做下面的事情,但这可能会导致代码变得很长,甚至对我的所有vlookup造成混乱。
Cells(xlRow, 149).Formula = "=VLOOKUP(EG" & xlRow & "," & FILEPATH & "RDWY'!$A$2:$N$" & Cells(Rows.Count, 1).End(xlUp).Row & ",6,0)"
我想做的是说““ RDWY'!$ A $ 2:$ N $”&rowcount&“,6,0)”。这可能吗?如果没有,为什么不可能呢?
编辑:我已将rowCount变量设置为rowCount = blanketWB.Sheets("RDWY").Cells(Rows.Count, 1).End(xlUp).Row
,并且它起作用了!
感谢大家确认语法。我应该在发布之前尝试过它。至少现在是在这里,以防将来其他人有类似的问题。
我的某些vlookup必须使用硬编码数字,因为某些源工作表中的权重有所降低。仅从最后一行获取行数将无济于事。但是,我可以将其应用于大多数。
答案 0 :(得分:0)
当然,您可以在变量中添加“公式”,如下所示:
Dim formula as String
formula = "=VLOOKUP(EG" & xlRow & "," & FILEPATH & "RDWY'!$A$2:$N$2402,6,0)"
然后可以在代码中使用它:
Cells(xlRow, 149).Formula = formula