ParamArray must be declared as an array of Variant
Каждый аргументпараметраParamArray может иметь разный тип данных. Следовательно, параметр сам должен быть объявлен как массив типа Variant. Можно также передать в ParamArray любое число аргументов. При вызове каждый аргумент, переданный в вызов, становится соответствующим элементом массива Variant. Например:
Sub MySub(ParamArray VarArg())
. . .
End Sub
Call MySub ("First arg", 2, 3.54)
Эта ошибка имеет следующие причины и решения:
В определении процедуры параметр ParamArray описывается как массив типа, отличающегося от Variant.
Повторно объявите тип параметра как массив элементов Variant.
Никакой тип данных не был задан для параметра ParamArray, но определение процедуры находится в области видимости оператора Defтип, поэтому параметр неявно определяется как параметр с типом, отличающимся от типа Variant. Используйте явное условие As Variant в спецификации параметра ParamArray.
Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh).
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.