在这里,我尝试将String
Variable
读成text_bval
(即String
)并将Long
转换为{CLng
1}}使用CLng
函数进行计算。 Dim text_bval As String
Dim text_long As Long
Dim per As Integer
text_bval = text_box.value
user_entry = CLng(text_bval)
函数显示类型不匹配的运行时错误。
请参阅下面的代码:
{{1}}
答案 0 :(得分:2)
根据MS Documentation,“如果expression
位于Long子类型的可接受范围之外,则会发生错误。”
在这种情况下,表达式为text_bval
,一个字符串。如果您的字符串包含无法转换为数字的字符,则会发生错误。
例如:
text_bval = "2"
然后CLng(text_bval) = 2
text_bval = "2.3"
然后CLng(text_bval) = 2
text_bval = "hello"
然后CLng(text_bval) = ERROR
为了防止发生错误,您应该执行以下操作:
user_entry = 0
On Error Resume Next
user_entry = CLng(text_bval)
On Error GoTo 0