まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】文字列を数値に変換するVal関数の使い方を教えて!

       f:id:m_kbou:20190805085516p:plain

文字列として入力されている数字を数値に変換する方法について説明します。変換するにはVal関数を用います。Val関数は、数字以外の文字列を見つけた場合、変換できずに0を戻り値とします。注意して下さい。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

Val[文字列として入力されている数字]

=======================================================================

[説明]:

文字列として入力されている数字を数値に変換するには、Val関数を記述します。[文字列として入力されている数字]には文字列数字を記述します。内容を纏めると、「[文字列として入力されている数字]で記述している文字列数字を数値に変換して下さい。」との意味になります。

[記述例]:

Val(cells(1,"A"))

 

使い方

使い方について、具体的に説明していきます。

特定セルに入力されている文字列数字を数値に変換する方法

特定セルに入力されている文字列数字を数値に変換する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Cells(1, "B") = Val(Cells(1, "A"))
End Sub

-------------------------------------------------

内容は、「A1セルに入力されている文字列数字を数字に変換し、B1セルに表示して下さい。」との意味になります。

[実行例]:

・初期表示

※A1セルに文字列数字:”0001”が入力されている。

f:id:m_kbou:20190805085534p:plain

・実行後

※A1セルの文字列数字:”0001”が数値に変換され、B21セルに「1」として表示される。

f:id:m_kbou:20190805085553p:plain

特定セルに入力されている文字列数字を数値に変換する方法についての説明は以上です。

 

複数セルに入力されている文字列数字をFor~Next文を使用して数値に変換する方法

複数セルに入力されている文字列数字をFor~Next分を使用して数値に変換する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    '↓処理①
    Dim 行 As Double
    '↓処理②
    For 行 = 1 To 10
        Cells(行, "B") = Val(Cells(行, "A"))
    Next
End Sub

-------------------------------------------------

処理の流れは以下の通りとなります。

[処理①]:変数の定義をします
Dimによる変数の定義となります。変数名は「行」となり、入力できる値は「小数を含む数値のみ」となります。
[処理②]:For~Next文による処理回数の記述となります
変数:行に1~10の値を順次セットして処理を10回実行します。(A1セル~A10セルの文字列数字を数字に変換する必要があるため)内容としては、「A1セル~A10セルに入力されている文字列数字を数字に変換し、B1セル~B10セルに表示して下さい。」との意味になります。

[実行例]:

・初期表示

※A1セル~A5セル及びA7セル~A10セルに文字列数字が入力されており、A6セルのみ文字列が入力されています。

f:id:m_kbou:20190805085610p:plain

・実行後

※A1セル~A5セル及びA7セル~A10セルに入力されている文字列数字は数値に変換され、A6セルのみ変換できずに「0」が表示されます。

f:id:m_kbou:20190805085623p:plain

複数セルに入力されている文字列数字を数値に変換する方法についての説明は以上です。

 

おわりに

今回は、文字列として入力されている数字を数値に変換する方法について説明しました。色々なデータを入力して結果を確認してみて下さい。