Excel VBA:错误1004 WorkSheetFunction“无法获取Vlookup属性”

试图在Excel 2010中写一个VBA的快捷方式

  • 使用Vlookup来查找一个值
  • 返回第三列中的值
  • 将给定的单元格设置为此值

我的困难在于公式。

Sub Metrics123() Dim x As Integer x = Application.WorksheetFunction.VLookup("Test", "A7:D9", 3, False) Range("A1").Value = x End Sub 

当我运行这个我打error 1004: 'Unable to get the Vlookup Property of the WorksheetFunction

任何指针赞赏!

两种方式给你。

1)使用.Formula属性:

 With ThisWorkbook.Worksheets("Sheet1").Range("A1") .Formula = "=VLOOKUP(""Justin"",A7:D9,3,FALSE)" .Value = .Value End With 

.Value = .Value用它的结果重写公式

2)使用Application.VLookupRange("A7:D9")而不是"A7:D9"

 Dim x With ThisWorkbook.Worksheets("Sheet1") x = Application.VLookup("Justin", .Range("A7:D9"), 3, False) Range("A1").Value = x End With 

注意, x应该是Variant ,因为如果没有find, Application.VLookup返回Error 2042Error 2042 #N/A