Excel VBA:错误1004 WorkSheetFunction'无法获取Vlookup属性"

时间:2014-04-02 11:08:55

标签: excel vba excel-vba

尝试在Excel 2010中快速编写VBA到

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

我的困难在于公式。

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 个答案:

答案 0 :(得分:4)

两种方式。

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,因为如果找不到任何内容,Application.VLookup会返回Error 2042#N/A