【VBA】Empty、Nothing、Nullの違い

エクセルVBAで使用する内容の備忘録。値がない状態を表現するEmpty、Nothing、Nullの違いについて。

スポンサーリンク

Empty:Variant型変数の初期値

Empty値は主にVariant変数の初期値として使用されます。Variant変数を定義して何も値を設定しないとEmpty値が入っています。ワークシート上の何も値が設定されていないセルの値を取得してもこのEmpty値が得られます。セルの値もVariant型として管理されているので結局は同じ内容です。

Nothing:オブジェクト型変数の初期値

Nothing値はEmpty値の親戚です。Empty値はVariant型変数の初期値でしたが、Nothing値はオブジェクト型変数全般の初期値です。使用していたオブジェクト型変数が何も参照しなくなった時にこのNothing値を参照させたりします。

Null:Variant型変数に値がない場合の設定値

Null値はVariant型変数に値がないことを明示するために使われます。Empty値は値が設定されていない状態の初期値を表しましたが、Null値は初期値ではなく値が設定されていないことを明示するために使用されます。あまり使う機会はないかもしれませんが、Variant型変数を使用していて値がない場合を表現する際に設定することがあるかもしれません。