IsMissing関数が、ある引数に対して真(True)を返すとき、つまり引数が省略されている場合は、その引数を他のコード内で使うと、ユーザー定義エラーが発生することがあります。指定した引数が空であるかどうかを調べるには、配列の上限が下限よりも小さいかどうかをテストします。VBAリファレンスには、上記のように書かれていますが、IsMissing関数は、ParamArray引数が渡されていない場合はTrue、渡された場合はFalseを返します。通常のデータ型に対しては無効です。これは、整数型などのデータ型では、引数が指定されたかどうかを判断するためのフラグが提供できないためです。よって、バリアント型以外の引数を判別したい場合は、プロシージャの構文内で変数の既定値を代入しておきます。特定条件下でIsMissing関数を使用した場合、Excelそのものが強制してしまいます。Subsample2では、初期値を指定していますので、Callで省略されたときは、その初期値を受け取ることになります。sample3では、初期値を指定していないので、IsMissing関数で、引数が省略されているかどうかを判定しています。この順に、メッセージボッスに出力されます。初期値を省略したOptionalをIsMissing関数で判定する事はかなり限られています。何よりデータ型を指定した場合は出番がないという事です。Variantの場合でも、特定の初期値を指定して判定すれば済みますので、IsMissing関数の使用場面はかなり限られてきます。変数が配列かどうかを示すブール型(Boolean)の値を返します。式が日付であるかを示すブール型(Boolean)の値を返します。変数が初期化されているかどうかを示すブール型(Boolean)の値を返します。式がエラー値かどうかを示すBoolean値を返します。オプション(Optional)のVariant引数がプロシージャに渡されたかどうかを示すブール型(Boolean)の値を返します。式に無効なデータ(Null)が含まれていないかどうかを示すブール型(Boolean)の値を返します。式を数値として評価できるかどうかを示すブール型(Boolean)の値を返します。識別子がオブジェクト変数を表しているかどうかを示すBoolean値を返します。※VBA関数一覧マクロVBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。その他......同じテーマ「VBA関数」の記事IsDate関数IsDate関数は、式を日付に変換できるかどうかを調べ、結果をブール型(True,False)で返します。IsDate関数は、値が日付変換可能かどうかを判定する関数です。IsEmpty関数IsEmpty関数は、変数がEmpty値かどうかを調べ、結果をブール型(True,False)で返します。数式または文字列式を含むバリアント型(Variant)の式を指定します。引数の式がエラー値かどうかを示すブール型(Boolean)の値を返します。IsError関数は、引数の式がエラーを示す場合にTrueを返します。それ以外の場合は、Falseを返します。IsError関数は、数式がエラーを表しているかどうかを判断するために使用されます。引数の式に無効なデータ(Null)が含まれていないかどうかを示すブール型(Boolean)の値を返します。引数の式がNullの場合、IsNull関数はTrueを返します。それ以外の場合、IsNull関数はFalseを返します。IsNumeric関数IsNumeric関数は、式が数値として評価できるかどうかを調べ、結果をブール型(True,False)で返します。IsNumeric関数は値が数値変換可能かどうかを判定する関数です。識別子(主にバリアント変数)がオブジェクト変数を表しているかどうかを判断する場合に使用します。バリアント変数がオブジェクト変数を表しているかどうかを示すBoolean値(True/False)を返します。識別子は、主にバリアント変数名を指定します。TypeName関数TypeName関数は、引数で指定された変数に関する情報を文字列で返します。ユーザー定義型の変数を除く、任意のバリアント型(Variant)の変数を指定します。VarType関数VarType関数は、引数に指定された変数の内部処理形式を表す整数型(Integer)の値を返します。引数varnameには、ユーザー定義型の変数を除く、任意のバリアント型(Variant)の変数を指定します。Date関数Date関数は、現在のシステムの日付を返します、バリアント型(内部処理形式DateのVariant)の値を返します。現在の日付を設定するには、Dateステートメントを使います。グレゴリオ暦の場合、DateとDate$の動作は同じです。DateAdd関数DateAdd関数は、指定された時間間隔を加算した日付を返します、バリアント型(内部処理形式StringのVariant)で返します。見るTRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)無効な前方参照か、コンパイルされていない種類への参照です。Case)|VBA入門9.メッセージボックス(MsgBox関数)|VBA入門10.マクロとは?VBAとは?VBAでできること|VBA入門ホームマクロVBA入門編VBA関数IsMissing関数このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。アクセスランキングサイトマップ事業案内お問い合わせホームマクロVBA入門編VBA関数IsMissing関数このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。