关于不允许测试人员在 vba 的文本框中输入 2 位数字的按键

Keypress about not allowing testers inputing 2 digits in a textbox in vba

我有一个代码不允许向上按 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 个。

这是完成您需要的一种方法:

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

基本思路是评估文本框的值并做出适当的响应。