如何在Excel Vba中将Userform Textbox值(String)转换为Long?

时间:2016-04-22 06:04:29

标签: vba excel-vba excel

在这里,我尝试将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}}

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