HOME > 即効テクニック > Excel VBA > 文字列操作関連のテクニック > 文字列に含まれる数値をVal関数で取得する

即効テクニック

文字列操作関連のテクニック

文字列に含まれる数値をVal関数で取得する

(Excel 97)
Val関数は、指定した文字列に含まれる数値を適切なデータ型に変換して返しますが、
「10kg」という文字列から「10」を取得する事ができます。
Sub Sample1()

    MsgBox Val("128MB")
    
End Sub
上記のサンプルマクロの結果は、メッセージボックスに「128」と表示されます。
 次のサンプルマクロでは、「12345」を返します。
Sub Sample2()

    MsgBox Val(" 1 2 3 4 5 and 6")
    
End Sub
文字列中に数字以外の文字が見つかると、Val 関数は読み込みを中止します。
 円記号(\)やカンマ(,)など、通常は数値の一部とみなされる記号や文字も、
Val関数は数値として解釈しません。
 ただし、Val関数は基数を示すプリフィックス&O(8進数)や&H(16進数)は認識します。
引数の文字列中に含まれるスペース、タブ、ラインフィードは無視されます。
 また、ピリオド(.)だけを有効な小数点の記号として認識します。
 次のサンプルマクロでは、「2000.01」が返されます。
Sub Sample3()

    MsgBox Val("2000.01.01")
    
End Sub