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


Не задана объектная переменная (ошибка 91)

Создание переменной объекта состоит из двух шагов. Во-первых необходимо объявить переменную объекта. Затем необходимо назначить правильную ссылку на переменную объекта, используя инструкцию Set.

Аналогично, необходимо инициализировать блок With...End With, выполняя точку входа инструкции With. Эта ошибка имеет следующие причины и решения:

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

    Задайте или повторно задайте ссылку для переменной объекта. Например, если в следующем коде пропущена инструкция Set, для ссылки на MyObject будет сформирована ошибка:

      Dim MyObject As Object    ' Create object variable. 
      Set MyObject = Sheets(1)    ' Create valid object reference. 
      MyCount = MyObject.Count    ' Assign Count value to MyCount. 
    
  • Предпринята попытка использовать переменную объекта, для которой было задано значение Nothing.

      Set MyObject = Nothing    ' Release the object. 
      MyCount = MyObject.Count    ' Make a reference to a released object. 
    

    Повторно задайте ссылку для переменной объекта. Например, используйте новую инструкцию Set, чтобы задать новую ссылку на объект.

  • Объект является допустимым объектом, но он не был задан, так как библиотека объектов, в которой он описан, не была выбрана в диалоговом окне Добавление ссылок.

    Выберите библиотеку объектов в диалоговом окне Добавление ссылок.

  • Цель инструкции GoTo находится внутри блока With.

    Не следует выполнять переход в блок With. Убедитесь, что блок инициализирован с помощью точки входа инструкции With.

  • При выборе команды Задать следующий оператор указана строка внутри блока With.

    Блок With должен быть инициализирован с помощью выполнения инструкции With.

Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh).

Примечание.

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.