Chyba kompilace VBA

Tento tutoriál vysvětlí, co znamená chyba kompilace VBA a jak k ní dochází.

Před spuštěním kódu editor VBA kód zkompiluje. To v podstatě znamená, že VBA prozkoumá váš kód, aby se ujistil, že jsou tam všechny požadavky na jeho správné spuštění - zkontroluje, zda jsou deklarovány všechny proměnné (pokud používáte Option Explicit, což byste měli!), Zkontrolujte, zda jsou deklarovány všechny postupy , zkontrolujte smyčky a if prohlášení atd. Kompilací kódu VBA pomáhá minimalizovat jakékoli chyby za běhu.

(Další informace o chybách VBA najdete v naší příručce pro zpracování chyb)

Nehlášené proměnné

Pokud nedeklarujete proměnné, ale v horní části vašeho modulu je zapnuta volba Explicit a poté spustíte makro, dojde k chybě kompilace.

Pokud kliknete na OK, příslušný postup přejde do režimu ladění.

Alternativně můžete před spuštěním kódu vynutit kompilaci kódu.

V Jídelní lístek, vyberte Ladění> Kompilovat projekt.

Kompilátor najde všechny chyby kompilace a podle toho zvýrazní první, který najde.

Nehlášené postupy

Pokud kód odkazuje na proceduru, která neexistuje, zobrazí se také chyba kompilace.

Například:

1234 Sub CallProcedure ()"Tak tady nějaký kód."Zavolejte NextProcedureEnd Sub

Pokud však postup - Další postup neexistuje, pak dojde k chybě kompilace.

Nesprávné kódování - očekávaný konec prohlášení

Pokud vytvoříte smyčku pomocí Pro… Každý… Další nebo S … Konec s a zapomenout na a další nebo Konec s… dostanete také chybu při kompilaci.

123456 Sub CompileError ()Dim wb jako sešitDim ws As WorksheetZa každý ws ve wbMsgBox ws.NameEnd Sub

Totéž se stane s příkazem If, pokud je Konec If vynechán!

Chybějící reference

Pokud používáte objektovou knihovnu, která není součástí Excelu, ale používáte objekty z knihovny v deklaraci proměnné, zobrazí se také chyba kompilace.

To lze vyřešit buď Pozdní vazbou - deklarace proměnných jsou Objekty; nebo přidáním příslušného Objektová knihovna do Projektu.

V Jídelní lístek, vyberte Nástroje> Reference a přidejte do svého projektu příslušnou knihovnu objektů.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave