Не удается выполнить назначение массиву
Каждому элементу массива необходимо присваивать значение отдельно. Эта ошибка имеет следующие причины и решения:
Попытка присвоить переменной массива отдельное значение без указания элемента, которому присваивается это значение.
Чтобы присвоить отдельное значение элементу массива, необходимо указать элемент в нижнем индексе. Например, если
MyArray
является массивом целых чисел, выражениеMyArray = 5
недопустимо, но допустимо следующее выражение:MyArray(UBound(MyArray)) = 5
Попытка присвоить массив целиком другому массиву.
Например, если
Arr1
является массивом иArr2
является другим массивом, следующие два назначения недопустимы:Arr1 = Arr2 ' Invalid assignment. Arr1() = Arr2() ' Invalid assignment.
Чтобы назначить один массив другому, убедитесь, что массив в левой части назначения изменяется и типы массива совпадают.
Вы также можете поместить массив целиком в переменную типа Variant:
Dim MyArr As Variant MyVar = Arr2()
После этого для ссылки на элементы массива в варианте можно использовать стандартную нотацию нижнего индекса, например:
MyVar(3) = MyVar(1) + MyVar(5)
Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh).
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.