【发布时间】:2018-12-15 15:20:04
【问题描述】:
我想让用户输入两个整数(两个文本框) 虽然不满足这个条件,但我想让用户再次填写文本框。
这是我尝试过的,但这不是正确的答案:
Sub verif_type(n1, n2)
If TypeName(n1) = "Integer" And TypeName(n2) = "Integer" Then
MsgBox ("C'est bon !")
Else
MsgBox ("C'est pas bon, recommencez !")
Unload UserForm1
Call verif_type(n1, n2)
End If
End Sub
提前致谢。
【问题讨论】:
-
您在哪里提示用户输入新值?目前,如果用户传递了一个无效的值,你最终会陷入一个循环调用 verif_type 函数的循环
-
您可以通过只允许文本框中的数值来阻止用户输入文本。看here
-
验证应该在用户表单中进行。
-
Integer不是Double或Integer作为 16 位整数类型。 32 位的Long类型呢? -
我建议处理
_KeyPress来控制用户输入,而不是后期处理数据。 @Storax 分享了一个很好的链接,可以帮助你解决这个问题