Грешка при компилиране на VBA

Този урок ще обясни какво означава грешка при компилиране на VBA и как се появява.

Преди да стартирате кода си, VBA Editor компилира кода. Това основно означава, че VBA проверява вашия код, за да се увери, че всички изисквания са налице, за да го изпълни правилно - ще провери дали всички променливи са декларирани (ако използвате Option Explicit, което трябва!), Проверете дали всички процедури са декларирани , проверете циклите и ако изявленията и т.н. Чрез компилиране на кода, VBA помага да се минимизират всички възникнали грешки по време на изпълнение.

(Вижте нашето Ръководство за обработка на грешки за повече информация относно грешките на VBA)

Недекларирани променливи

Ако не декларирате променливи, но опцията Explicit е включена в горната част на вашия модул и след това стартирате макроса, ще възникне грешка при компилиране.

Ако щракнете върху OK, съответната процедура ще премине в режим на отстраняване на грешки.

Като алтернатива, преди да стартирате кода си, можете да принудите компилация на кода.

В Меню, изберете Отстраняване на грешки> Компилиране на проект.

Компилаторът ще намери грешки при компилиране и ще подчертае първата, която намери съответно.

Недекларирани процедури

Ако кодът ви се отнася до процедура, която не съществува, вие също ще получите грешка при компилиране.

Например:

1234 Sub CallProcedure ()'тогава има някакъв код тукОбадете се на NextProcedureEnd Sub

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

Неправилно кодиране - Очакван край на изявлението

Ако създадете цикъл с помощта За… Всеки… Следващ или С… Край с и забрави и Следващия или Край с… ще получите и грешка при компилиране.

123456 Sub CompileError ()Dim wb Като работна книгаЗатъмнете като работен листЗа всеки ws В wbMsgBox ws.NameEnd Sub

Същото ще се случи и с оператор If, ако End If е пропуснат!

Липсващи референции

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

Това може да се реши чрез късно свързване - декларирането на променливите са обекти; или чрез добавяне на съответното Библиотека на обекти към Проекта.

В Меню, изберете Инструменти> Препратки и добавете съответната библиотека с обекти към вашия проект.

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

wave wave wave wave wave