我在 Excel 中有一个用户表单,其中包含仅用于数字数据的文本框。我想在检测到错误输入并给出错误消息时清除文本框,但我不想再次调用文本框的 _Change 函数,否则消息会弹出两次,因为我将文本更改为“”。我没有看到内置的 clear 功能.. 有没有更好的方法来做到这一点?
Private Sub txtbox1_Change()
txt = userform.txtbox1.Value
If Not IsNumeric(txt) Then
disp = MsgBox("Please only enter numeric values.", vbOKCancel, "Entry Error")
txtbox1.Text = ""
End If
End Sub
最佳答案
实现此目的的一个简单方法是使用 _Exit()
功能:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1.Value) Then
MsgBox "Please only enter numeric values.", vbCritical, "Error"
End If
End Sub
一旦文本框失去焦点,就会触发。
关于vba - 如何在不调用 _Change 函数的情况下清除用户表单文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33651525/