Потрібна помилка об’єкта в Excel VBA - усунення несправностей

Огляд необхідної помилки об’єкта

Цей підручник допоможе вам усунути несправності, необхідні для об’єктів у VBA.

<

<

Огляд об’єктів

У VBA об'єкт - це "річ", як робочий аркуш, книга, діапазон, форма, рядок, стовпець, форма користувача, елемент керування тощо.

Об'єкти мають властивості (наприклад: ім'я, колір, приховані) та методи (наприклад: відкрити, очистити, зберегти, приховати). Якщо ви намагаєтесь застосувати властивість або метод, VBA потребує дійсного об’єкта, до якого можна застосувати властивості чи методи.

Якщо ви не надаєте дійсний об’єкт, ви отримаєте його Потрібна помилка об’єкта.

Цей посібник допоможе вам усунути несправності, необхідні для об’єктів.

№1. Опція Явні / Неправильно написані імена змінних

Спочатку перевірте, чи неправильно написано назву об’єкта. Неправильно написана назва може спричинити помилку об'єкта.

Це може статися з наявними назвами об'єктів:

<>

Або з іменами змінних:

<>

Один із хороших способів запобігти помилкам написання імен змінних - переконатися, що ви оголошуєте Option Explicit у верхній частині модуля коду.

1 Опція явна

Опція Explicit змушує вас оголошувати свої змінні. Тепер, коли ви налагоджуєте <> свій код, ви отримаєте повідомлення про необхідність визначення вашої змінної:

<>

Це має допомогти вам зрозуміти, що ця змінна написана неправильно.

Програмування VBA | Генератор коду працює для вас!

#2 Змінні призначення

Далі переконайтеся, що ви правильно призначили свої змінні.

Змінні об'єкта повинні бути призначені за допомогою Set Object =: <>

<>

Якщо ви не використовуєте Set для призначення об’єктних змінних, ви отримаєте помилку Object Required.

<>

Подібним чином, об’єктні змінні слід призначати без Set:

<>

Якщо ви спробуєте використати Set для не об’єктної змінної, ви отримаєте помилку Object Required.

<>

#3 Модулі на рівні аркуша

Ваш код у модулі на рівні аркуша? Якщо так, то вам буде потрібно бути особливо обережним при зверненні до іменованих діапазонів на інших аркушах.

Наприклад, у вас може бути діапазон імен на рівні книги «Дата», у звичайному модулі коду ви можете посилатися на іменований діапазон так:

1 Діапазон MsgBox ("Дата"). Значення

Однак, якщо ви посилаєтесь на іменований діапазон із модуля на рівні аркуша, ви повинні чітко визначити аркуш, де розташований іменований діапазон:

1 MsgBox Sheets ("Sheet2"). Діапазон ("Date"). Value

Інакше виникне помилка:

<>

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

wave wave wave wave wave