在用户形式中,当我遇到一个空间时,我只想在删除空间时给出一个错误消息



仅删除vba中用户形式输入框中的空间,而不是tge整个数据

您可以使用替换来删除空间。如果文本保存在变量中,则

 s=Replace(s," ","")

将从S

的内容中删除所有空间

您可以为文本框定义键盘事件,并禁止空格:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeySpace Then KeyCode = 0
End Sub

使用此代码,用户根本无法输入任何空间。这样的缺点是用户仍然可以将/过去的空间复制到文本框中。

在变更事件中,您也可以预防:

Private Sub TextBox1_Change()
    TextBox1.Value = Replace$(TextBox1.Value, " ", "")
End Sub

这也将替换粘贴的空间。

最新更新