我在用户窗体上有一个文本框,我试图将用户输入限制为只允许整数值。我能够做到这一点,但行为有点奇怪。首先,这是我的代码:
Private Sub txtAnswer_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii >= 48) And (KeyAscii <= 57) Then
Me.txtAnswer.SetFocus
Else
KeyAscii = 0
Me.txtAnswer.SetFocus
End If
End Sub
问题是在用户输入一个值后,焦点似乎离开了文本框。此外,如果用户确实输入了一个整数值,则该值将从文本框中删除(即输入被“吃掉”)。SetFocus 线是我试图使控件正常运行的尝试,但它们似乎没有效果。
我要做的就是确保用户没有在文本框中输入“r”(或任何其他非整数值)之类的内容。任何整数值 >= 0 都是完全可以接受的(包括多个数字值,例如 10 或 1000000)。
任何人都可以看到为什么我的方法不起作用?我尝试了几种不同的方法,并进行了相当多的搜索,但我找不到有效的方法。
谢谢