Необходимо использовать аргумент массива ByRef
Массивы, объявленные с оператором Dim, ReDim или Static не могут передаваться с параметром ByVal. Эта ошибка имеет следующие причину и решение:
- Вы попытались передать весь массив с параметром ByVal. Отдельный элемент массива может быть передан с параметром ByVal (по значению), но весь массив должен передаваться с параметром ByRef (по ссылке). Обратите внимание, что параметр ByRef используется по умолчанию. Если необходимо передать массив ByVal , чтобы предотвратить распространение изменений элементов массива обратно в вызывающий объект, можно передать массив (аргумент) в собственном наборе круглых скобок или поместить его в Variant, а затем передать Variant в параметр ByVal следующим образом:
Dim MyVar As Variant
MyVar = OldArray()
Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh).
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.