オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel VBA エキスパート ベーシック】Val関数 (数値へ変換) (VBA入門33)

Val関数とは

Val関数は文字列形式の数値を、数値型に変換します。引数の文字列の左側から数値と認識できる部分のみを数値に変換し、それ以外は除去します。左端が文字の場合は、0を返します。

構文
Val(文字列)

サンプルコード

引数"AB124"を指定した場合、Val関数は左端から数値と認識できる部分のみを変換、左端が数値以外の場合は0を返すので0が返されます。
引数"124AB"の場合は、左端の124までが数値と認識できるので、数値に変換します。

Sub sampleVal()
    Range("A1") = Val("AB124")
    Range("A2") = Val("124AB")
End Subd

f:id:auroralights:20210118223354p:plain

サンプルコード2

以下のコードでは、A列に入っている単位が付いた数値から数値のみを取り出して、B1セルに合計値を返しています。

Sub sampleVal2()
    
    Dim i As Long, tmp As Long
    For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        tmp = tmp + Val(Cells(i, 1))
    Next
    Range("B1") = tmp
    
End Sub

f:id:auroralights:20210118224131p:plain