Excel VBA Nothingは変数がオブジェクト参照しているか示す特別な値

 

Excel VBA Nothingは、オブジェクト変数がオブジェクト参照を持っていないことを示す特別な値です。これを使用して、変数がオブジェクトを参照しているかどうかを確認できます。具体的な使い方や、注意点やサンプルコードを紹介します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA Nothingの利用

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

・オブジェクト変数が有効なオブジェクトを参照しているかどうか。

・オブジェクトを解放した後に変数が空であるかどうかを確認する。

 

使い方

オブジェクト変数を"Nothing"と比較することで、その変数がオブジェクトを参照しているかどうかを判断できます。

 

ポイント

オブジェクト変数は、明示的に"Set"キーワードを使用してオブジェクトに割り当てられる必要があります。

 

Excel VBA Nothingのサンプルコード

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

Option Explicit

Sub CheckObject()
    Dim obj As Object
    If obj Is Nothing Then
        MsgBox "オブジェクトは参照されていません。"
    Else
        MsgBox "オブジェクトが参照されています。"
    End If
    Set obj = ThisWorkbook
    If obj Is Nothing Then
        MsgBox "オブジェクトは参照されていません。"
    Else
        MsgBox "オブジェクトが参照されています。"
    End If
End Sub

サンプルコードは、オブジェクト変数`obj`が"Nothing"かどうかをチェックしています。最初のifで、オブジェクトは参照されていませんと表示、2番目のifで、オブジェクトが参照されていますと表示します。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問