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

 

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

 

2025年の目標は繰り返し作業に悩まされない年にしませんか? Excel VBAを活用した効率化がその第一歩
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

Excel VBA Nothingの利用

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

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

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

 

使い方

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

 

ポイント

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

 

Excel VBA Nothingのサンプルコード

Excel VBAで効率化の準備をしてみませんか?2025年をよりスムーズに過ごすための資格
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

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で自動化するコードのベースを習得したい方におすすめ!

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

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


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

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

 

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