構文
構文は以下の通りです。
Val(文字列)
解説
Val関数は、文字列の先頭にある数字を数値として返す関数です。文字列の中に数字以外の文字が含まれている場合、その文字の直前までの数字が返され、それ以降の文字は無視されます。もし、文字列が数字で始まっていない場合、Val関数は0を返します。
プログラミング例
具体的なプログラミング例を紹介します。
Sub Val関数の例()
Dim 数値1 As Double
Dim 数値2 As Double
Dim 数値3 As Double
Dim 文字列 As String
文字列 = "123ABC456"
数値1 = Val(文字列)
MsgBox "文字列から抽出された数字は: " & 数値1
文字列 = "ABC123"
数値2 = Val(文字列)
MsgBox "文字列が数字で始まらない場合: " & 数値2
文字列 = "456.78"
数値3 = Val(文字列)
MsgBox "小数点を含む数字の場合: " & 数値3
End Sub
Dim 数値1 As Double
Dim 数値2 As Double
Dim 数値3 As Double
Dim 文字列 As String
文字列 = "123ABC456"
数値1 = Val(文字列)
MsgBox "文字列から抽出された数字は: " & 数値1
文字列 = "ABC123"
数値2 = Val(文字列)
MsgBox "文字列が数字で始まらない場合: " & 数値2
文字列 = "456.78"
数値3 = Val(文字列)
MsgBox "小数点を含む数字の場合: " & 数値3
End Sub
上記のプログラムは、文字列 = "123ABC456"の場合、Val関数は先頭の"123"を数値として認識し、数値1に123を代入します。結果として、メッセージボックスに"文字列から抽出された数字は: 123"と表示されます。また、文字列 = "ABC123"の場合、文字列が数字で始まっていないため、Val関数は0を返します。メッセージボックスには"文字列が数字で始まらない場合: 0"と表示されます。更に、文字列 = "456.78"の場合、Val関数は数値部分"456.78"をそのまま認識し、数値3に456.78を代入します。メッセージボックスには "小数点を含む数字の場合: 456.78"と表示されます。
まとめ
Val関数は文字列から数字を抽出するために便利な関数です。数字以外の文字が含まれている場合でも、先頭の数字部分だけを取得できるため、特定のフォーマットを持つデータから数値を取り出したいときに役立ちます。しかし、数字以外で始まる文字列に対しては 0 を返すため、その点を注意して使用する必要があります。