VBA运行时提示'不能取得类 WorksheetFunction 的 VLookup 属性'解决方法

在使用VBA的Application.WorksheetFunction.VLookup函数时,如果遇到'不能取得类 WorksheetFunction 的 VLookup 属性'的错误提示,很可能是因为你正在查找的值在目标区域中找不到匹配项,或者存在其他错误导致函数无法执行。

为了解决这个问题,可以使用Application.VLookup方法替代Application.WorksheetFunction.VLookupApplication.VLookup方法不会直接抛出错误,而是返回一个Variant类型的结果,你可以通过判断结果是否为错误值来进行处理。

以下是修改后的代码示例:

Private Sub TextBox7_AfterUpdate()
    Dim result As Variant
    result = Application.VLookup(TextBox7.Value, Sheets('产品编号总表').Range('B:G'), 4, False)
    
    If Not IsError(result) Then
        TextBox9.Value = result
    Else
        TextBox9.Value = ''
    End If
End Sub

代码解释:

  1. 使用Dim result As Variant声明一个Variant类型的变量result用于存储Application.VLookup的返回值。
  2. 使用Application.VLookup函数执行查找操作,并将结果赋值给result
  3. 使用IsError函数判断result是否为错误值。
  4. 如果result不是错误值,则将result的值赋给TextBox9;否则,将TextBox9的值清空。

通过这种方式,无论VLOOKUP函数是否找到匹配项,都能正确处理结果,避免程序出错。

注意:

  • 请确保将这段代码放置在窗体的代码模块中。
  • TextBox7_AfterUpdate事件与文本框TextBox7关联。
VBA运行时提示'不能取得类 WorksheetFunction 的 VLookup 属性'解决方法

原文地址: https://www.cveoy.top/t/topic/2V6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录