関数・メソッド

変数がオブジェクトかどうか判断する【IsObject関数】【ExcelVBA】

構文

IsObject(Expression)  As Boolean

Expression・・・Object型かどうか評価する変数
戻り値 ・・・・・Boolean型 Object型ならTrue/Object型でなければFalse
Expressionに指定した引数がオブジェクト型かどうか判別します。

IsObject関数のサンプルコード

Public Sub sample()
    
    '■文字列とセル範囲(Range=Object)
    Debug.Print IsObject("あいうえお")  'False
    Debug.Print IsObject(Range("A1"))   'True

    '■Variant型
    Dim var As Variant
    Debug.Print IsObject(var)   'False
    Set var = Nothing           'Nothing格納はTrueとなる
    Debug.Print IsObject(var)   'True

    '■Object型
    Dim obj As Object
    Debug.Print IsObject(obj)   'True

End Sub

注意点

  • 有効な活用方法はVariant型がObject型なのかどうかを判別するケースでしょう。
  • String型やRange型など最初からObject型かどうか特定する場合は変数で判断できますが、
    Variant型でどちらをいれているのか判断する時に使います。

関連記事

数値データかどうか判断する【IsNumeric関数】【ExcelVBA】
日付データかどうか判断する【IsDate関数】【ExcelVBA】
時刻データかどうか判断する【IsDate関数応用】【ExcelVBA】
配列かどうか調べる【IsArray関数】【ExcelVBA】
Nullデータかどうか判断する【IsNull関数】【ExcelVBA】
Emptyデータかどうか判断する【IsEmpty関数】【ExcelVBA】
セルの値がエラーかどうか判断する【IsError関数】【ExcelVBA】

 

コメント

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