Ошибка объекта в Excel VBA - Устранение неполадок

Обзор требуемых ошибок объекта

Это руководство поможет вам устранить ошибки, связанные с обязательными объектами в 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

В противном случае вы столкнетесь с ошибкой:

<>

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave