Массивы параметров
Для передачи аргументов в процедуру может использоваться массив параметров. При описании процедуры не требуется указывать число элементов такого массива.
Для обозначения массива параметров используется ключевое слово ParamArray. Такой массив описывается как массив типа Variant и всегда представляет последние элементы из списка аргументов в описании процедуры .
Ниже приводится пример описания процедуры с массивом параметров.
Sub AnyNumberArgs(strName As String, ParamArray intScores() As Variant)
Dim intI As Integer
Debug.Print strName; " Scores"
' Использует функцию UBound для определения верхней границы массива.
For intI = 0 To UBound(intScores())
Debug.Print " "; intScores(intI)
Next intI
End Sub
В следующих строках приведены примеры вызова этой процедуры.
AnyNumberArgs "Иван", 10, 26, 32, 15, 22, 24, 16
AnyNumberArgs "Мария", "Высокий", "Низкий", "Средний", "Высокий"