2017-02-23 119 views
1

將TextBox放入我的表單中,用戶可以在其中輸入值。 在VBA中我需要將字符串的值轉換爲double。將TextBox.Value轉換爲VBA(Excel 2013)

我做它喜歡:

Private Sub UserForm_Initialize() 

    '....some code 
    Dim new_value As Double 
    new_value = CDbl(TextBox6.Value) 

End sub 

但我發現了以下錯誤:

enter image description here

回答

5

CDbl已經預計了號碼,但如果文本框爲空,則TextBox6.Value是一個空的字符串。 CDbl不能將空字符串轉換爲double。

如果文本框是一個數值,首先要避免這種

If IsNumeric(TextBox6.Value) Then 
    new_value = CDbl(TextBox6.Value) 
Else 
    new_value = 0 
End If 

另外的Val()功能可能是您的選擇,您可以驗證。

new_value = Val(TextBox6.Value) 
+0

謝謝!我做了:new_value = CDbl(替換(TextBox6.Value,「。」,「,」)),也有效。 – 4est