我可以将Cells(Rows.Count,1).End(xlUp).Row存储在变量中吗?

时间:2018-09-10 14:15:38

标签: vba vlookup

我想知道是否可以将此函数存储为变量。当我使用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必须使用硬编码数字,因为某些源工作表中的权重有所降低。仅从最后一行获取行数将无济于事。但是,我可以将其应用于大多数。

1 个答案:

答案 0 :(得分:0)

当然,您可以在变量中添加“公式”,如下所示:

Dim formula as String
formula = "=VLOOKUP(EG" & xlRow & "," & FILEPATH & "RDWY'!$A$2:$N$2402,6,0)"

然后可以在代码中使用它:

Cells(xlRow, 149).Formula = formula