ParamArrayキーワード
Sub/Functionプロシージャを作る際に引数の数を不定にしたいときは、
ParamArrayキーワードを使うことで引数の数を可変にすることができます。
構文
Sub | Function name([ParamArray] varname[( )])
[statements]
End Sub
| ParamArray | その引数がバリアント型の要素を持つ省略可能な配列であることを示します。 ParamArray を使うと、任意の数の引数を渡すことができます。省略可。 |
| varname | 引数を表す変数名を指定します。必須。 |
ParamArrayキーワードを使ったサンプルコード
Sub Sample()
Debug.Print Plus(1, 10, 100, 1000) '数字の数だけ処理される(この場合4回)
End Sub
Function Plus(ParamArray Data()) As Double
Dim i As Long
'足し算の計算式(4回繰り返す)
For i = LBound(Data) To UBound(Data)
Plus = Plus + Data(i)
Next
End Function
注意点
- ByVal/ByRef/Optional を使用した場合、ParamArray は併用できません。
Function Plus(Optional arg, ParamArray Data()) 'エラーになります
- 引数 arglist の最後の引数でのみ使用できます。
Function Plus(ParamArray Data(), arg) 'エラーになります



コメント