Excel VBA VarType関数は変数のデータ型を調べるために使用します

 

Excel VBA VarType関数は、変数のデータ型を調べるために使用します。コードの中で変数がどのようなデータ型であるかを確認し、適切な処理を行うことができます。具体的な使い方や、注意点やサンプルコードを紹介します。

 

Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る

 

Excel VBA VarTypeを利用

以下のようなシーンで利用されます。

・データ型によって処理を変えたい

・複数の型を取りうる変数のデバッグ

・ユーザー入力や外部データの型を確認する

 

Excel VBA VarTypeを利用|使い方とポイント

使い方

・宣言:VarType(variable)

・戻り値: 変数のデータ型を示す数値(定数)

 

ポイント

・VarType関数の戻り値は定数値であり、それぞれのデータ型に対応しています。例えば、vbStringは文字列を示す定数で値は 8 です。

・複数の定数値の組み合わせで返される場合があるため、戻り値の解釈に注意が必要です。

 

Excel VBA VarTypeのサンプルコード

Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る

基本的な使用例
Option Explicit

Sub VarTypeExample()
    Dim varData As Variant
    
    ' 数値を格納
    varData = 123
    MsgBox "データ型: " & VarType(varData)  ' 出力: 2 (整数型)
    
    ' 文字列を格納
    varData = "Hello, World!"
    MsgBox "データ型: " & VarType(varData)  ' 出力: 8 (文字列型)
    
    ' 日付を格納
    varData = Date
    MsgBox "データ型: " & VarType(varData)  ' 出力: 7 (日付型)
End Sub

 

Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る

 

データ型によって処理を変える例

Option Explicit

Sub VarTypeConditionExample()
    Dim varData As Variant
    
    ' 変数に値を設定(ここでは例として文字列)
    varData = "Hello, World!"
    
    ' データ型によって処理を変える
    Select Case VarType(varData)
        Case vbInteger
            MsgBox "これは整数型です。"
        Case vbString
            MsgBox "これは文字列型です。"
        Case vbDate
            MsgBox "これは日付型です。"
        Case Else
            MsgBox "これは他の型です。"
    End Select
End Sub

 

解説

・VarType(varData)
varDataのデータ型を返します。戻り値は定数値です。

・Select Case VarType(varData)
VarType関数の戻り値に基づいて処理を分岐します。

・vbInteger, vbString, vbDate
これらはそれぞれのデータ型を示す定数です(vbIntegerは 2、vbStringは 8、vbDateは 7)

データ型定数の一覧

・vbEmpty (0): 空 (未初期化)
・vbNull (1): Null 値
・vbInteger (2): 整数型
・vbLong (3): 長整数型
・vbSingle (4): 単精度浮動小数点型
・vbDouble (5): 倍精度浮動小数点型
・vbCurrency (6): 通貨型
・vbDate (7): 日付型
・vbString (8): 文字列型
・vbObject (9): オブジェクト型
・vbError (10): エラー型
・vbBoolean (11): ブール型
・vbVariant (12): Variant 型 (配列)
・vbDataObject (13): データアクセスオブジェクト型
・vbDecimal (14): Decimal 型
・vbByte (17): バイト型

このように、VarType関数を使うことで、変数のデータ型を動的に確認し、適切な処理を行えます。

VBAマクロが書けるベースを作りたい方は、VBAエキスパート資格取得を挑戦してみてください。

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

下記から無料問題集ができます。

 

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。