Application.WorksheetFunction.VLookup 需要一个范围作为第二个参数。它不知道要查看哪个工作表或单元格。
这就是你所说的:
Application.WorksheetFunction.VLookup(9992, "'C:\WORK\MyEstates\4529\4529-data.xlsx'!D_1", 3, false)
试试类似的东西:
Application.WorksheetFunction.VLookup (9992, worksheets("Sheet1").range("A1:b10"),3,FALSE)
如果您需要使用变量,请确保将其声明为 Range。
(顺便说一句,那是谷歌搜索的第一次点击。),
编辑:
我后来意识到你想要做什么! :)
您分享了很多信息,但内容非常复杂,以至于我无法理解问题所在,而且奇怪的语法(如 Range(Cells(1, 1), Cells(1, 1)))和开放式描述(如 Everything works)使问题更加混乱。
在你得到答案之前,我不妨为你重写问题,这样你就可以更好地了解下次如何让每个人都更轻松。重写您的问题花费了我一半的时间来理解它,而且如果您刚刚用 Google 搜索了错误,您会自己回答您的问题。
WorksheetFunction.VLookup 上的错误 1004 到外部命名范围
嗨!
我有一个 VLookup 公式,它从
named range in another workbook 当我使用它分配给一个单元格时
这个 VBA:
Range("A1").FormulaR1C1 = _
"=VLookup(9992, '*C:\myPath\fileName.xlsx'!namedRange*, 3, FALSE)"
我无法使用相同的 VLookup 公式
Application.WorksheetFunction 像这样:
myResult = Application.WorksheetFunction.VLookup _
(9992, "'C:\myPath\fileName.xlsx'!namedRange, 3, FALSE)"
VBA 在上面的行中停止this
error:
运行时错误“1004”:
无法获取 WorksheetFunction 类的 VLookup 属性
接下来,我查找了错误和第一个Google search result
是an existing answer from Stack Overflow with the solution to my
problem。
所以,我.......
.
我想这就是我可以解决的示例问题,因为添加几个链接的过程会回答这个问题。
这是你的解决方法:
myResult = Application.WorksheetFunction.VLookup _
(9992, "'C:\WORK\MyEstates\4529\4529-data.xlsx'!D_1", 3, false)
请仔细阅读How to create a Minimal, Complete, and Verifiable example 和How to Ask。感谢您的宝贵时间!