2017-02-23 14 views
1

TextBoxをフォームに配置して、ユーザーが値を入力できるようにします。 VBAでは、値を文字列からdoubleに変換する必要があります。TextBox.ValueをDoubleに変換して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は、空の文字列をダブルにキャストできません。

テキストボックスは、この

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(Replace(TextBox6.Value、 "。"、 "、"))とも動作します。 – 4est

関連する問題