VBA运行时提示'不能取得类 WorksheetFunction 的 VLookup 属性'解决方法
VBA运行时提示'不能取得类 WorksheetFunction 的 VLookup 属性'解决方法
在使用VBA的Application.WorksheetFunction.VLookup函数时,如果遇到'不能取得类 WorksheetFunction 的 VLookup 属性'的错误提示,很可能是因为你正在查找的值在目标区域中找不到匹配项,或者存在其他错误导致函数无法执行。
为了解决这个问题,可以使用Application.VLookup方法替代Application.WorksheetFunction.VLookup。Application.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
代码解释:
- 使用
Dim result As Variant声明一个Variant类型的变量result用于存储Application.VLookup的返回值。 - 使用
Application.VLookup函数执行查找操作,并将结果赋值给result。 - 使用
IsError函数判断result是否为错误值。 - 如果
result不是错误值,则将result的值赋给TextBox9;否则,将TextBox9的值清空。
通过这种方式,无论VLOOKUP函数是否找到匹配项,都能正确处理结果,避免程序出错。
注意:
- 请确保将这段代码放置在窗体的代码模块中。
- 将
TextBox7_AfterUpdate事件与文本框TextBox7关联。
原文地址: https://www.cveoy.top/t/topic/2V6 著作权归作者所有。请勿转载和采集!