Excel VBA - Userform vlookup错误处理
我有一个用户窗体,用我的设置表中的产品名称填充了组合框,并且我试图在用户从组合框中选择产品时显示带有产品描述的标签。Excel VBA - Userform vlookup错误处理
这很有效,除非用户选择没有产品说明的产品,因此vlookup将返回空白并导致用户表单发生错误。
我试了几次If Error - if is empty - Description is 0 - Description is empty statements,but none does not work,including OnError GoTo Errorhandler。我在这里做错了什么?
Private Sub Problem_List_Change()
Description = Application.WorksheetFunction.VLookup(Problem_List.Text, Worksheets("Settings").Range("l3:o1000"), 4, False)
If IsError(Description) Then
Desc.Caption = ""
Else
Desc.Caption = Description
End If
End Sub
感谢, A2K
这对我的作品。
Sub x()
Dim r As Variant
On Error Resume Next
r = Application.WorksheetFunction.VLookup(5, Range("a1:b4"), 2, False)
If Not IsEmpty(r) Then
Debug.Print "Found"
Else
Debug.Print "Not Found"
End If
End Sub
作品晶圆厂,感谢 – Armitage2k
不用担心,在一个侧面说明,如果你是检索多个值,它可能是一个主意,用组合MATCH找到你的行号,然后从行号引用表格。 1回报应该没问题。 –
我正在为代码的其余部分做这件事,但只是对于这个特定的用户表单来说,这将是矫枉过正的,因为我只有一个值来查找。但很高兴知道我用其他形式做了正确的事情;) – Armitage2k
@Nathan_Sav尝试,但仍然出错'如果说明是没有Then' – Armitage2k