定义副程序时, 我们必须把叁数一一列出来, 例如: Sub MySub( P1, P2, ┅) 但如果我们将来调用副程序时, 可能会传入不固定个数的叁数, 那么副程序该如何定义呢?答案如下: Sub MySub( ParamArray P() ) ' 把叁数 P 定义成一个阵列 如此定义副程序之后, 以下都是将来可能出现的调用叙述: MySub "ABC" ' 只传递一个叁数 MySub 1, 3, 9, 988, 776, 234 ' 传递 6 个整数叁数 MySub 123, "abc", Date() ' 传递 3 个不同型别的叁数 以最后一个调用叙述为例, P(0) 叁数将等于 123, P(1) 叁数等于 "abc", P(2) 叁数则等于 Date() 函数的传回值, 而由于 P() 是一个阵列, 我们可以利用以下方法读取每一个叁数: For i = 0 To UBound(P) ' P(i) 等于第 i 个叁数 Next 最后, 请注意以 ParamArray 所定义的叁数一定是 Variant(不定型) 型别, 若要判断每一个个别叁数的资料型别, 可以使用 TypeName 函数。