Необходима грешка на обекта в Excel VBA - Отстраняване на неизправности

Преглед на задължителната грешка на обекта

Този урок ще ви помогне да отстраните неизправности с обектни грешки във VBA.

<

<

Преглед на обектите

Във VBA обектът е „нещо“ като работен лист, работна книга, диапазон, форма, ред, колона, потребителска форма, контрол и т.н.

Обектите имат свойства (напр. Име, цвят, скрит) и методи (напр. Отваряне, изчистване, запазване, скриване). Ако се опитате да приложите свойство или метод, VBA се нуждае от валиден обект, върху който да приложи свойствата или методите.

Ако не предоставите валиден обект, ще получите Необходима грешка на обекта.

Това ръководство ще ви помогне да отстраните неизправности, свързани с обекта.

#1. Опция Явни / Грешно написани имена на променливи

Първо проверете дали сте написали грешно името на обекта. Неправилно изписано име може да причини обект изисква грешка.

Това може да се случи със съществуващи имена на обекти:

<>

Или с имена на променливи:

<>

Един добър начин да предотвратите грешно написани имена на променливи е да се уверите, че декларирате Option Explicit в горната част на вашия кодов модул.

1 Опция Изрично

Опция Explicit ви принуждава да декларирате вашите променливи. Сега, когато отстранявате грешки <> кода си, ще получите съобщение, че трябва да определите променливата си:

<>

Това би трябвало да ви помогне да разберете, че променливата е грешно написана.

VBA програмиране | Code Generator работи за вас!

#2 Присвояване на променливи

След това се уверете, че сте задали правилно вашите променливи.

Обектните променливи трябва да бъдат присвоени чрез Set Object =: <>

<>

Ако не използвате Set за присвояване на променливи на обекти, ще получите грешка Object Required.

<>

По подобен начин, обектните променливи трябва да бъдат присвоени без Set:

<>

Ако се опитате да използвате Set за не-обектна променлива, ще получите грешка Object Required.

<>

#3 Модули на ниво работен лист

Кодът ви в модул на ниво работен лист? Ако е така, ще трябва да бъдете особено внимателни, когато се позовавате на именувани диапазони в други работни листове.

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

1 MsgBox Range ("Дата"). Стойност

Ако обаче препращате към именования диапазон от модул на ниво работен лист, трябва изрично да дефинирате работния лист, където се намира посоченият диапазон:

1 MsgBox Sheets ("Sheet2"). Диапазон ("Date"). Стойност

В противен случай ще срещнете грешка:

<>

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave