Поделиться через


Не удается выполнить назначение массиву

Каждому элементу массива необходимо присваивать значение отдельно. Эта ошибка имеет следующие причины и решения:

  • Попытка присвоить переменной массива отдельное значение без указания элемента, которому присваивается это значение.

    Чтобы присвоить отдельное значение элементу массива, необходимо указать элемент в нижнем индексе. Например, если 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 и обратная связь.