動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2207 ビルド15427.20210 Microsoft Store)
「vba isnull 否定」
といった検索で、時折アクセスがあります。
VBAのIsNull関数を使うと、
Nullかどうかを判定した論理値・真偽値を取得できます。
[スポンサードリンク]
この判定結果を逆にしたいということでしょうか。
IsNullの否定を確認するサンプルマクロ
以下のマクロを実行してみてください。
Sub IsNullの否定を確認する()
Dim var As Variant
var = Null
MsgBox IsNull(var)
MsgBox Not IsNull(var)
End Sub
Dim var As Variant
var = Null
MsgBox IsNull(var)
MsgBox Not IsNull(var)
End Sub
Trueのメッセージボックスの後に、Falseのメッセージボックスが表示されます。
最初のTrueは、IsNull関数で変数varがNullであることを判定した、
MsgBox IsNull(var)
の結果で、次のFalseが、
「vba isnull 否定」
と検索なさった方が調べていたコードです。
Not演算子を使えば、
MsgBox Not IsNull(var)
IsNull関数の戻り値である論理値・真偽値の否定・逆になります。
そもそも本当にNullですか
「vba isnull 否定」
と検索なさった方には、IsNull関数で判定しようとしている変数等が、そもそもNullという状態が起こりえるのかを確認しておくことをおすすめします。
ローカルウィンドウで変数の中身を確認しつつ、上記のSubプロシージャをステップ実行してみてください。
変数varにNullを代入する
var = Null
の実行前は、下図のとおりEmpty値です。Nullではありません。
var = Null
を実行すると、初めてNullになります。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAのIsNull関数の否定は?-Not演算子を使いましょう