IsMissing関数:プロシージャのオプションの引数に値が指定されたかどうかを確認する
IsMissing 関数は Excel VBA で用意されている関数の一つで、プロシージャを呼び出すときにオプションの引数に値が指定されたかどうかを確認します。ここでは Excel VBA における IsMissing 関数の使い方について解説します。
(Last modified: )
IsMissing関数の定義と使い方
IsMissing
関数は、プロシージャが呼び出されたときにプロシージャのオプション引数に引数に指定されているかどうかを確認し、「True」または「False」の値を返します。
引数には調べるプロシージャのオプション引数名を指定します。引数に値が指定されずにプロシージャが呼び出されているときは「True」、引数が指定されている場合は「False」が戻り値として返されます。
次の例を見てください。
Function RetDouble(Optional num As Variant) If IsMissing(num) Then RetValue = 0 Else RetValue = num * 2 End If End Function
Function プロシージャの引数にオプション引数を設定しています。このプロシージャを呼び出すときに、引数を指定して呼び出した場合は IsMissing
関数は「False」を返しますが、引数を省略して呼び出した場合は「True」を返します。具体的な例はこのあとのサンプルコードを参照されてください。なおオプション引数にデフォルト値が設定していてもしていなくても結果は同じになります。
それでは簡単なサンプルを作成して試してみます。
Option Explicit Sub IsMissing関数() Debug.Print RetDouble(10) Debug.Print RetDouble End Sub Private Function RetDouble(Optional num As Variant) If IsMissing(num) Then RetDouble = 0 Else RetDouble = num * 2 End If End Function
オプション引数が設定されたプロシージャを引数を指定した場合と指定しない場合でそれぞれ呼び出しています。プロシージャの中では IsMissing
関数を使い、オプション引数が指定されたかどうかを判定し、指定されている場合は 2 倍にした値を返し、指定されていなかった場合は 0 を返しています。
-- --
Excel VBA における IsMissing 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。