VBA関数
IsNull関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
公開日:2013年5月以前 最終更新日:2021-10-13

IsNull関数


引数の式に無効なデータ(Null)が含まれていないかどうかを示すブール型(Boolean)の値を返します。
引数の式がNullの場合、 IsNull関数はTrueを返します。
それ以外の場合、IsNull関数はFalseを返します。


IsNull関数を使用して、式にNull値が含まれているかどうかを調べます。

IsNull関数の構文

IIsNull(式)

引数は、数値式または文字列式を含むバリアント型(Variant )の値です。

IsNull関数の解説

Null値は、バリアント型 (Variant) の値に有効な値が含まれていないことを示します。
Null値は、変数が初期化されていないことを示すEmpty値とは異なります。
また、Null文字列と呼ばれることがある長さが0の文字列 ("") とも異なります。

バリアント型 (Variant) 変数の初期値はEmptyであり、これを判定するにはIsEmpty関数を使います。
IsEmpty関数は、変数がEmpty値かどうかを調べ、結果をブール型(True,False)で返します。IsEmpty関数 IsEmpty(expression) expression 必ず指定します。数式または文字列式を含むバリアント型(Variant)の式を指定します。

比較演算子で比較する場合、片方でもNull値の場合の結果は常にNullとなります。
If Var = Null
If Var <> Null
これらは常にFalseになります。

変数がNullかどうかを判定するにはIsNull関数を使ってください。

IsNull関数の使用例

空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)
空白セルの判定は、マクロVBAにおいては頻繁に発生しますが、正しく空白セルを判定する事は以外と難しいものです。そもそも「空白」とはどのような状態なのか… これが、はっきりしない為に何が正しいのかが判然としないことが問題を複雑にしています。以下、A1セルが空白かどうか判定する方法をいくつか紹介します。
空白セルを正しく判定する方法2|VBA技術解説
空白セルの判定について、いろいろな方から意見を頂きました。やはり、空白判定は奥が深く結構難しいものとなっています。ここでは、各プロパティや関数が、セルの状態によって返す値を再確認してみます。元記事は、空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula) 上記の記事では、
セル結合なんて絶対に許さないんだからね|VBAサンプル集
セル結合の弊害はネットに溢れているのでここで改めて説明の必要はないでしょう。とはいえ、ついついセル結合してしまう事ありますよね、人間だからね。VBAで適切に処理すればセル結合もきちんと処理は可能です。

Is○○関数一覧

関数名 機能
IsArray関数 変数が配列かどうかを示すブール型(Boolean)の値を返します。
IsDate関数 式が日付であるかを示すブール型(Boolean)の値を返します。
IsEmpty関数 変数が初期化されているかどうかを示すブール型(Boolean)の値を返します。
IsError関数 式がエラー値かどうかを示すBoolean値を返します。
IsMissing関数 オプション(Optional)のVariant引数がプロシージャに渡されたかどうかを示すブール型(Boolean)の値を返します。
IsNull関数 式に無効なデータ(Null)が含まれていないかどうかを示すブール型(Boolean)の値を返します。
IsNumeric関数 式を数値として評価できるかどうかを示すブール型(Boolean)の値を返します。
IsObject関数 識別子がオブジェクト変数を表しているかどうかを示すBoolean値を返します。


Office VBA リファレンス データ型変換関数


※VBA関数一覧
マクロVBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。文字列操作…34 分岐…3 型変換…14 データ判定…10 日付時刻…20 配列…6 ファイル操作…14 数学/財務…28 その他……



同じテーマ「VBA関数」の記事

IsEmpty関数
IsError関数
IsMissing関数
IsNull関数
IsNumeric関数
IsObject関数
TypeName関数
VarType関数
Date関数
DateAdd関数
DateDiff関数


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ