教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】Val関数の使い方を教えて!

構文

構文は以下の通りです。

Val(文字列)

解説

Val関数は、引数として渡された文字列を評価し、数値に変換します。文字列の先頭から数値の部分を抽出し、その数値を返します。ただし、文字列の先頭が数値でない場合は、0を返します。また、文字列の途中に含まれる文字は無視されます。

引数 指定 内容
文字列 必須 任意の文字列を指定します。引用符(")で囲む必要があります。

使用例

Val("123,456")
Val("123km")

使い方

Val関数は、数値変換が必要な場合に非常に便利です。例えば、Excelのセルに数値の代わりに文字列が入力されている場合、Val関数を使って数値に変換することができます。
次の例を考えてみます。A1セルに「123」という文字列が入力されている場合、以下のVBAコードを実行すると、Val関数を使って数値に変換することができます。

Dim value As Double
value = Val(Range("A1").Value)

このコードでは、Range関数を使ってA1セルの値を取得し、Val関数を適用してvalue変数に数値として代入しています。

プログラミング例

以下に、プログラミング例を幾つか紹介します。

例1: 文字列を数値に変換する

Dim str As String
Dim num As Double
str = "456"
num = Val(str)
MsgBox "変換結果: " & num

この例では、文字列"456"をVal関数を使って数値に変換し、変数numに代入しています。MsgBox関数を使って変換結果をメッセージボックスに表示します。

例2: セルの値を数値に変換する

Dim value As Double
value = Val(Range("A1").Value)
If value > 10 Then
    MsgBox "値は10より大きいです"
Else
    MsgBox "値は10以下です"
End If

この例では、セルの値をVal関数を使って数値に変換し、その数値に基づいて条件分岐を行っています。A1セルの値を取得し、Val関数を適用して数値に変換し、変数valueに代入します。その後、Ifステートメントを使って数値の大小を判定し、結果に応じたメッセージボックスを表示します。

まとめ

Val関数は、文字列を数値に変換するための便利な関数です。引数として渡された文字列を評価し、数値に変換します。また、文字列の先頭が数値でない場合は、0を返します。是非活用してください。