VBATips

Variant型変数が初期値か否か判定したい→isEmptyを使う【ExcelVBA】

Variant型変数が初期値か否か判定したい

VBA開発案件にて、Variant型の変数で2次元配列で処理をする案件があり、
データが初期値の空の場合(Emptyのまま)は、初期化処理するようにしたいことがありました。

Nothing?Emptyで判断?IsArray?どれが正解かぱっとわからなかったので備忘録として残します。

Variant型変数が初期値か否か判定したい→isEmptyを使うコード

Public Sub sample()
    Dim arr As Variant
    
    If IsEmpty(arr) Then
        'arrの初期化処理
        Debug.Print "初期値"
    Else
        '本処理
        Debug.Print "本処理"
    End If
End Sub

注意点

  • VarType関数で内部処理形式が判断できますので、Emptyか判断可能です。
    (例)If VarType(arr) = Empty Then

関連記事

コメント

タイトルとURLをコピーしました