VBA Excel 消息框出现后清除文本框

VBA Excel Textbox clear after msg box appear

我的代码在 "A" 列中查找 ID,如果匹配,则抛出一条消息,以便用户无法重新输入具有相同 ID 的另一个人。我想要一些简单有效的东西,所以这个可行。问题是当我清除该值时,即使文本框已清除,它也会再次弹出相同的消息框。有什么办法可以解决这个问题?

Private Sub TextBox1_Change()

    Dim controlrow
    Dim lookrow

    controlrow = Me.TextBox1.Value
    Set lookrow = Hoja4.Range("A:A").Find(What:=controlrow, LookIn:=xlValues)

    If Me.TextBox1.Value = lookrow.Value Then
    MsgBox "El ID ya existe"
    Me.TextBox1.Value = ""
    End If

End Sub

修改您的代码以首先检查文本框是否为空。

如@JvdV 所述,您还需要针对永远找不到您正在搜索的值的可能性进行编码。发生这种情况时,您将尝试比较 SomethingNothing

时出错
Private Sub Textbox1_Change()

If Me.TextBox1.Value = "" Then
    Exit Sub
End If

Dim controlrow
Dim lookrow As Range

controlrow = Me.TextBox1.Value
Set lookrow = Hoja4.Range("A:A").Find(controlrow, LookIn:=xlValues)

If Not lookrow Is Nothing Then
    If Me.TextBox1.Value = lookrow.Value Then
        MsgBox "El ID ya existe"
        Me.TextBox1.Value = ""
    End If
End If

End Sub