【问题标题】:"Unable to get the VLookup property of the WorksheetFunction Class" error [duplicate]“无法获取 WorksheetFunction 类的 VLookup 属性”错误 [重复]
【发布时间】:2013-10-17 07:27:21
【问题描述】:

我正在尝试开发一个表单来跟踪收到的发票。该表单将有一个组合框,我可以在其中单击并选择供应商编号。我希望文本框根据从组合框中选择的供应商编号自动填写。这是我目前所拥有的:

Private Sub ComboBox1_Change()    
    'Vlookup when ComboBox1 is filled
    Me.TextBox1.Value = Application.WorksheetFunction.VLookup( _
        Me.ComboBox1.Value, Worksheets("Sheet3").Range("Names"), 2, False)    
End Sub

从中提取信息(供应商编号和名称)的工作表 3。

当我返回表单测试代码时,出现以下错误:

运行时错误“1004”:无法获取 WorksheetFunction 类的 VLookup 属性

我该如何解决这个问题?

【问题讨论】:

  • 如果 VLOOKUP() 失败(找不到匹配项),您将收到此错误。

标签: vba excel vlookup


【解决方案1】:

试试下面的代码

我建议在使用 vlookup 时使用错误处理程序,因为找不到查找值时可能会发生错误。

Private Sub ComboBox1_Change()


    On Error Resume Next
    Ret = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, Worksheets("Sheet3").Range("Names"), 2, False)
    On Error GoTo 0

    If Ret <> "" Then MsgBox Ret


End Sub

 On Error Resume Next

    Result = Application.VLookup(Me.ComboBox1.Value, Worksheets("Sheet3").Range("Names"), 2, False)

    If Result = "Error 2042" Then
        'nothing found
    ElseIf cell <> Result Then
        MsgBox cell.Value
    End If

    On Error GoTo 0

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。似乎将Me.ComboBox1.Value 作为Vlookup 函数的参数传递会导致问题。我所做的是将此值分配给一个双精度值,然后将其放入 Vlookup 函数中。

    Dim x As Double
    x = Me.ComboBox1.Value
    Me.TextBox1.Value = Application.WorksheetFunction.VLookup(x, Worksheets("Sheet3").Range("Names"), 2, False) 
    

    或者,对于更短的方法,您可以使用 Cdbl(&lt;Value&gt;) 在 Vlookup 函数中转换类型。

    所以它最终会是

    Me.TextBox1.Value = Application.WorksheetFunction.VLookup(Cdbl(Me.ComboBox1.Value), Worksheets("Sheet3").Range("Names"), 2, False) 
    

    听起来很奇怪,但它对我有用。

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      我只是在自己的程序中遇到了这个问题。我发现我正在搜索的值不在我的参考表中。我修复了我的参考表,然后错误就消失了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 2015-06-14
        • 1970-01-01
        相关资源
        最近更新 更多