構文
構文は以下の通りです。
解説
Val関数は、引数として渡された文字列を評価し、数値に変換します。文字列の先頭から数値の部分を抽出し、その数値を返します。ただし、文字列の先頭が数値でない場合は、0を返します。また、文字列の途中に含まれる文字は無視されます。
使い方
Val関数は、数値変換が必要な場合に非常に便利です。例えば、Excelのセルに数値の代わりに文字列が入力されている場合、Val関数を使って数値に変換することができます。
次の例を考えてみます。A1セルに「123」という文字列が入力されている場合、以下のVBAコードを実行すると、Val関数を使って数値に変換することができます。
value = Val(Range("A1").Value)
このコードでは、Range関数を使ってA1セルの値を取得し、Val関数を適用してvalue変数に数値として代入しています。
プログラミング例
次に、具体的なプログラミング例を示します。
例1: 文字列を数値に変換する
Dim num As Double
str = "456"
num = Val(str)
MsgBox "変換結果: " & num
この例では、文字列"456"をVal関数を使って数値に変換し、変数numに代入しています。MsgBox関数を使って変換結果をメッセージボックスに表示します。
例2: セルの値を数値に変換する
value = Val(Range("A1").Value)
If value > 10 Then
MsgBox "値は10より大きいです"
Else
MsgBox "値は10以下です"
End If
この例では、セルの値をVal関数を使って数値に変換し、その数値に基づいて条件分岐を行っています。A1セルの値を取得し、Val関数を適用して数値に変換し、変数valueに代入します。その後、Ifステートメントを使って数値の大小を判定し、結果に応じたメッセージボックスを表示します。
まとめ
Val関数は、ExcelVBAにおいて文字列を数値に変換するための便利な関数です。引数として渡された文字列を評価し、数値に変換します。また、文字列の先頭が数値でない場合は、0を返します。是非活用してください。