我的表单中有TextBox,用户可以在其中输入值。
在VBA中,我需要将值从字符串转换为双精度。
我这样做:
Private Sub UserForm_Initialize()
'....some code
Dim new_value As Double
new_value = CDbl(TextBox6.Value)
End sub
但我收到以下错误:
最佳答案
CDbl
应该已经有一个数字,但是如果文本框为空,则TextBox6.Value
为空字符串。 CDbl
不能将空字符串转换为双精度型。
您可以先验证文本框是否为数字值,以避免这种情况
If IsNumeric(TextBox6.Value) Then
new_value = CDbl(TextBox6.Value)
Else
new_value = 0
End If
另外,您可以选择
Val()
函数。new_value = Val(TextBox6.Value)