
Excel VBA Val関数は、文字列内に含まれる数値を抽出して数値型に変換するための関数です。この関数は、文字列の先頭から数値を読み取り、その数値を返します。具体的な使い方や、注意点やサンプルコードを紹介します。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Excel VBA Valを利用
以下のようなシーンで利用されます。
・文字列に数値が含まれている場合に、その数値部分を抽出して数値型として扱いたいとき。
・ユーザー入力が文字列形式で数値を含む場合に、その数値を計算や比較に使用したいとき。
Excel VBA Valを利用|使い方とポイント
Val(string)
string: 数値を抽出したい文字列を指定します。
・Val関数は文字列の先頭から数値部分を読み取ります。最初の数値以降の文字は無視します。
・数値以外の文字が最初に現れる場合、その文字の前までの数値を抽出します。それ以降の文字は無視します。
・小数点としてピリオド(.)のみを認識します。コンマ(,)は数値の一部として認識されません。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Excel VBA Valのサンプルコード
Option Explicit
Sub ExampleValUsage()
Dim str1 As String
Dim str2 As String
Dim str3 As String
Dim num1 As Double
Dim num2 As Double
Dim num3 As Double
str1 = "123.45abc"
str2 = "abc123.45"
str3 = "123,456.78xyz"
num1 = Val(str1) ' 123.45
num2 = Val(str2) ' 0
num3 = Val(str3) ' 123
MsgBox "Num1: " & num1 ' 出力: Num1: 123.45
MsgBox "Num2: " & num2 ' 出力: Num2: 0
MsgBox "Num3: " & num3 ' 出力: Num3: 123
End Sub
・str1 = "123.45abc"
文字列の先頭に数値があるため、Val関数は最初の数値部分「123.45」を抽出します。
結果: `123.45`
・str2 = "abc123.45"
文字列の先頭に数値がないため、Val関数は最初の数値部分が存在しないと判断し、0を返します。
結果: `0`
・str3 = "123,456.78xyz"
文字列の先頭に数値があるが、コンマ(,)は数値の一部として認識されないため、Val関数は最初の数値部分「123」を抽出します。
結果: `123`
Val関数を使うことで、文字列から数値を抽出し、計算や比較に利用することが簡単になります。注意点を理解して適切に利用することが重要です。
Excel VBAで自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!