Обзор требуемых ошибок объекта
Это руководство поможет вам устранить ошибки, связанные с обязательными объектами в VBA.
<
<
Обзор объектов
В VBA объект - это «вещь», такая как рабочий лист, рабочая книга, диапазон, форма, строка, столбец, пользовательская форма, элемент управления и т. Д.
У объектов есть свойства (например: имя, цвет, скрытый) и методы (например: открыть, очистить, сохранить, скрыть). Если вы попытаетесь применить свойство или метод, VBA потребуется допустимый объект, к которому будут применяться свойства или методы.
Если вы не предоставите действительный объект, вы получите Требуемый объект Ошибка.
Это руководство поможет вам устранить ошибки, связанные с обязательными объектами.
№1. Опция Явные / неправильные имена переменных
Сначала проверьте, не ошиблись ли вы в названии объекта. Имя с ошибкой может вызвать ошибку "Требуется объект".
Это может произойти с существующими именами объектов:
<>
Или с именами переменных:
<>
Один из хороших способов предотвратить неправильное написание имен переменных - убедиться, что вы объявили Option Explicit в верхней части модуля кода.
1 | Вариант Явный |
Option Explicit заставляет вас объявлять переменные. Теперь, когда вы отлаживаете <> свой код, вы получите сообщение о том, что вам нужно определить переменную:
<>
Это должно помочь вам понять, что эта переменная написана неправильно.
Программирование на VBA | Генератор кода действительно работает для вас!
# 2 присвоения переменных
Затем убедитесь, что вы правильно назначили свои переменные.
Переменные объекта должны быть назначены с помощью Set Object =: <>
< Если вы не используете Set для назначения переменных объекта, вы получите ошибку Object Required. <> Точно так же переменные, не являющиеся объектами, должны быть назначены без Set: <> Если вы попытаетесь использовать Set для переменной, не являющейся объектом, вы получите ошибку Object Required. <> Ваш код находится в модуле уровня рабочего листа? В таком случае следует проявлять особую осторожность при обращении к именованным диапазонам на других листах. Например, у вас может быть именованный диапазон на уровне книги «Дата», в модуле обычного кода вы можете ссылаться на именованный диапазон следующим образом: Однако, если вы ссылаетесь на именованный диапазон из модуля уровня рабочего листа, вы должны явно определить рабочий лист, на котором расположен именованный диапазон: В противном случае вы столкнетесь с ошибкой: <>>
# 3 Модули уровня рабочего листа
1 MsgBox Range ("Дата"). Значение
1 MsgBox Sheets ("Sheet2"). Range ("Date"). Value