完成组合框时出现不匹配错误 VBA

Mismatch error in completing combo box VBA

我在尝试输入组合框(在用户表单中)以查找匹配项时遇到问题。当我输入错误的 letter/number 时,它会立即给出不匹配错误并将我定向到 VBA 代码。我怎样才能避免这种情况?有什么我可以添加到我的代码或更改属性的东西吗?因为对于用户来说,输入错误是很常见的,我不想将用户重定向到代码。

这是我的组合框的代码:

Private Sub ComboBox3_Change()

If Me.ComboBox3.Value <> "" Then
    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("11")
    Set ph = ThisWorkbook.Sheets("22")
Dim i As String

i = Application.Match((Me.ComboBox3.Value), sh.Range("A:A"), 0)

    Me.TextBox8.Value = ph.Range("D" & i).Value
    Me.TextBox13.Value = ph.Range("P" & i).Value
    Me.TextBox41.Value = ph.Range("B" & i).Value

End If
End Sub

Private Sub UserForm_Activate()
Dim i As Integer

Me.ComboBox3.Clear
Me.ComboBox3.AddItem ""

For i = 2 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row

    Me.ComboBox3.AddItem sh.Range("A" & i).Value

Next i

您需要使用错误处理语句来跳过产生错误的部分。

Private Sub ComboBox3_Change()

If Me.ComboBox3.Value <> "" Then
    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("11")
    Set ph = ThisWorkbook.Sheets("22")
Dim i As String
    or error go to MyHandler
    i = Application.Match((Me.ComboBox3.Value), sh.Range("A:A"), 0)

    Me.TextBox8.Value = ph.Range("D" & i).Value
    Me.TextBox13.Value = ph.Range("P" & i).Value
    Me.TextBox41.Value = ph.Range("B" & i).Value

End If
MyHandler:
' Expected behavior on error
End Sub