【问题标题】:Excel VBA: Error 1004 WorkSheetFunction 'Unable to get Vlookup property"Excel VBA:错误 1004 WorkSheetFunction“无法获取 Vlookup 属性”
【发布时间】:2014-05-13 14:55:34
【问题描述】:

尝试在 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

任何指针表示赞赏!

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    两种方式供您选择。

    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)

    【讨论】:

    • 非常好,感谢您的快速回复。第一个选项工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多