Excel vba 文本框只能是字母和空格

怎么样可以设置到文本框只可以是英文字母和空格,因为会有粘贴上去的,keypress事件会识别不了,求帮忙

引用 皆我百晓生 小程序回复内容作答:

要限制文本框只能输入英文字母和空格,可以使用VBA中的KeyDown事件来实现。

首先,在VBA编辑器中打开你的Excel文件,然后在对应的用户窗体上找到你要限制的文本框控件。在右侧的属性窗口中,找到KeyDown事件并双击它,然后输入以下代码:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    ' 检查按键是否是允许的字符或空格(ASCII码)
    If Not (KeyCode >= 65 And KeyCode <=90) And KeyCode <> 32 Then
        ' 忽略非允许字符或空格
        KeyCode = 0
    End If
End Sub

在上面的代码中,TextBox1是你要限制的文本框的名称。代码将在按下键盘按键时触发,并检查按下的键是否是英文字母(ASCII码范围65-90)或空格(ASCII码32),如果不是,则忽略该按键。

保存并关闭VBA编辑器,现在你的文本框只能接收英文字母和空格输入,而其他字符将被忽略。