引数が省略されたかどうかをチェックする( IsMissing 関数 )
IsMissing 関数の使い方
【書式】
result = IsMissing ( argname )
【引数・戻り値】
- argname ・・・ プロシージャの省略可能なバリアント型の引数の名前を指定します。
- result ・・・ プロシージャを呼び出したときに省略可能なバリアント型引数がプロシージャに渡されたかどうかの結果(ブール型)
引数が渡されなかった時、つまり引数が省略されたとき ⇒ 真(True)
引数が渡された時 ⇒ 偽(False)
IsMissing 関数は、バリアント型以外の整数型や倍精度浮動小数点型などの通常のデータ型に対しては無効です。
IsMissing 関数の使用例
サンプルVBAソース<その1>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
'------------------------------------------------------------------------------ ' IsMissing 関数の動作 '------------------------------------------------------------------------------ Sub Sample_ismissing() Dim num As Long, str As String, obj1 As Object, obj2 As Object num = 100: str = "こんにちは" Set obj2 = Nothing Debug.Print test_missing01() 'True ※引数が省略された Debug.Print test_missing01(num) 'False Debug.Print test_missing01(str) 'False Debug.Print test_missing01(obj1) 'False Debug.Print test_missing01(obj2) 'False Debug.Print test_missing01(Null) 'False Debug.Print Debug.Print test_missing02() 'False ※この場合、argu は、0 となる Debug.Print test_missing02(num) 'False Debug.Print Debug.Print test_missing03() 'True ※引数が省略された Debug.Print test_missing03(num, str) 'False Debug.Print test_missing03(obj1) 'False Debug.Print test_missing03(obj2) 'False Debug.Print test_missing03(1, 2, 3) 'False Debug.Print test_missing03(Null) 'False End Sub '------------------------------------------------------------------------------ '省略可能なバリアント型引数 Function test_missing01(Optional argu) test_missing01 = IsMissing(argu) End Function '省略可能な数値型(Long)引数 Function test_missing02(Optional argu As Long) test_missing02 = IsMissing(argu) End Function 'キーワード ParamArray を指定した引数 Function test_missing03(ParamArray argu()) test_missing03 = IsMissing(argu) End Function |
実行結果
サンプルVBAソース<その2>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
'------------------------------------------------------------------------------ ' IsMissing 関数 使用例 '------------------------------------------------------------------------------ '以下のように、省略可能な引数(バリアント型)を使用し、 '省略した場合の処理(初期値を指定する等)を行う場合に 'IsMissing 関数を使用します Sub Sample_ismissing01() MsgBox test_missing04() End Sub '------------------------------------------------------------------------------ Function test_missing04(Optional argu) If IsMissing(argu) Then argu = "引数は省略されました!" End If test_missing04 = argu End Function |
実行結果
関連記事
-
-
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)
フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …
-
-
文字列:文字列右から指定文字数取得(Right 関数,RightB 関数)
Right 関数・RightB 関数 の使い方 【書式】 result_righ …
-
-
文字列:指定した文字コードに対応する文字を返す(Chr 関数)
Chr 関数の使い方 【書式】 result = Chr ( code ) 引数 …
-
-
日付時刻:日付から曜日を取得( Weekday 関数、WeekdayName 関数 )
Weekday 関数(日付から曜日を表す数値を返す)の使い方 【書式】 week …
-
-
式の値に応じて多分岐を行う(Switch 関数)
Switch 関数 の使い方 Switch 関数は、「式・値」を対にして指定して …
-
-
日付時刻:時・分・秒を取得(Hour、Minute、Second 関数)
日付時刻から時・分・秒を取得する関数 【書式】 time_hour = Hour …
-
-
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)
カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …
-
-
配列(多次元配列・配列の次元の変更)
多次元配列 【書式】 多次元配列の宣言 <静的配列(固定長配列)> Dim my …
-
-
ユーザー設定リストを使って並べ替える(Sort)
VBAでリスト、テーブルを並べ替える(Sort) VBAで、ソートを行うには、S …
-
-
データ型変換関数
データ型変換関数の使い方 【書式】 function ( expression …

