我有一个密码,不允许向上按0,1和8
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("2") To Asc("8")
Case Else
KeyAscii = 0
MsgBox "Input should be 2 to 8 only!"
End Select
End Sub
但是我的问题是,如果我输入22、33、44、555,666和888,则msgbox将无法运行。
我的目标是将文本框限制为2到8。
答案 0 :(得分:1)
这是完成您所需要的一种方法:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Val(TextBox1.Text & Chr(KeyAscii)) < 2 Or Val(TextBox1.Text & Chr(KeyAscii)) > 8 Then
KeyAscii = 0
MsgBox "Input should be 2 to 8 only!"
End If
End Sub
基本思想是评估文本框的值并将其正确响应。