我在用户窗体上有一个文本框,我试图将用户输入限制为只允许整数值。我能够做到这一点,但这种行为有点奇怪。首先,这里是我的代码:在用户窗体文本框上将用户输入限制为整数
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)。
任何人都可以看到为什么我的方法不工作?我尝试了几种不同的方法,并且搜索了很多,但我找不到有效的方法。
谢谢
这是完美的。非常感谢! – Alex
@Randy:谢谢Randy :)。我只是增加了一个额外的功能。 –
感谢您的解决方案。我尝试过这个。它的工作原理除了我仍然可以添加点(十进制)符号 –