IsMissing関数がある引数に対して真(True)を返すとき、つまり引数が省略されている場合は、その引数を他のコード内で使うと、ユーザー定義エラーが発生することがあります。指定した引数が空であるかどうかを調べるには、配列の上限が下限よりも小さいかどうかをテストします。VBAリファレンスには、上記のように書かれていますが、IsMissing関数は、ParamArray引数が渡されていない場合はTrue、渡された場合はFalseを返します。通常のデータ型に対しては無効です。これは、整数型などのデータ型では、引数が指定されたかどうかを判断するためのフラグが提供できないためです。よって、バリアント型以外の引数を判別したい場合は、プロシージャの構文内で変数の既定値を代入しておきます。Subsample2では、初期値を指定していますので、Callで省略されたときは、その初期値を受け取ることになります。sample3では、初期値を指定していないので、IsMissing関数で、引数が省略されているかどうかを判定しています。この順に、メッセージボッスに出力されます。初期値を省略したOptionalは、実務では必ずしも使う必要性はありません。特定の初期値を指定しておき、それで判定した方が良いからです。何より、Variant型でしかほとんど意味を持たない為、使用する機会は少なくなります。※VBA関数一覧VBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。Next)|VBA入門8.セルに文字を入れるとは(Range,Value)|VBA入門9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説10.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技ホームマクロVBAVBA関数IsMissing関数このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。GASスプレッドシート入門スプレッドシート応用GAS入門GAS応用ホームマクロVBAVBA関数IsMissing関数このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。