我有一个完全由数据组成的工作表。工作表已声明&在代码中设置,我也在关闭工作表中的第一列。
我尝试了并且出错了,但是想知道这是否可行。我可以将整个工作表设置为可以传递到VLOOOKUP的范围吗?
.Cells(row,col)= WorksheetFunction.VLookup(“key”,sheetname,[SomeCol] .Column,0)
错误是1004:无法获取WorkSheetFunction类的VLOOKUP属性。
答案 0 :(得分:1)
如果数据是连续表(没有空行或列),则(例如)
Range("A1").CurrentRegion
将返回包含数据的范围。
.Cells(row, col) = WorksheetFunction.VLookup("key", _
Worksheets("sheetName").Range("A1").CurrentRegion, _
colNum, False)
仅供参考,如果vlookup找不到匹配项,上述方法将导致运行时错误。此版本通过删除WorksheetFunction
:
Dim v
v = Application.VLookup("key", _
Worksheets("sheetName").Range("A1").CurrentRegion, _
colNum, False)
.Cells(row, col) = IIf(IsError(v), "Not found", v)