VBA関数
IsNull関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
最終更新日: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 ・・・新着記事一覧を見る

数字(1~50)を丸付き数字に変換するVBA|VBA技術解説(2022-11-15)
TEXTAFTER関数(テキストの指定文字列より後ろの部分を返す)|エクセル入門(2022-11-14)
TEXTBEFORE関数(テキストの指定文字列より前の部分を返す)|エクセル入門(2022-11-14)
TEXTSPLIT関数(列と行の区切り記号で文字列を分割)|エクセル入門(2022-11-12)
LAMBDA以降の新関数はVBAで使えるか|VBA技術解説(2022-11-11)
WRAPCOLS関数(1次元配列を指定数の列で折り返す)|エクセル入門(2022-11-08)
WRAPROWS関数(1次元配列を指定数の行で折り返す)|エクセル入門(2022-11-08)
EXPAND関数(配列を指定された行と列に拡張する)|エクセル入門(2022-11-07)
TAKE関数(配列の先頭/末尾から指定行/列数を取得)|エクセル入門(2022-11-06)
DROP関数(配列の先頭/末尾から指定行/列数を除外)|エクセル入門(2022-11-06)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.エクセルVBAでのシート指定方法|VBA技術解説
9.マクロって何?VBAって何?|VBA入門
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄




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


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



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