你好我的Excel中的userform每当我尝试输入任何不是数字的东西时都会抛出错误,即“。”或“ - ”或如果我退回我的号码以清除该行。
我相信它是因为我将用户形态分配的变量定义为long。
这可以防止我输入负数或小数而不会抛出错误。
关于如何允许我的userform接受Long变量类型同时仍然允许我输入不是直接数字的其他字符的任何想法?
要清楚的是,在我操作用户形式之后,在将数字输入UF时会发生错误。
编辑:
此代码非常简单
Public LTB As Long
Public Sub LotTextBox_Change()
LTB = LotTextBox.Value
End Sub
错误消息是 - 运行时错误13 - 不匹配。
答案 0 :(得分:0)
您遇到的问题是因为您试图将运行时String
文本框中输入的内容存储到Long
变量。
因此,如果您想键入-123
,那么当您键入-
时,您会在尝试将String
即-
存储在一个时出现错误Long
变量。
试试这个
Public LTB As Long
Private Sub LotTextBox_Change()
On Error GoTo Whoa
LTB = Val(LotTextBox.Value)
Whoa:
'Debug.Print LTB
End Sub
这样做,它会尝试将文本框值存储到变量中,如果它不是正确的数据类型,它会正常退出。