Tento článek je o tom, jak v prostředí VBA v Excelu hledat chyby v kódu. Není vyčerpávající, jsou zde popsané pouze některé nástroje.

Krokování makra

Pokud makro spustíte klávesou F5, klávesou nebo nějak jinak, spustí se celé najednou, a máme možnost zkontrolovat až výsledek. Pro ladění makra je ale většinou vhodné jít řádek po řádku a sledovat, jak se makro zachová v každém kroku.

V editoru VBA stačí postupně mačkat klávesu F8. Makro jde řádek po řádku, a řádek, se kterým se právě pracuje, je žlutý.

krokování

V průběhu procházení je možné se přepínat ze editoru VBA do tabulky sledovat, jak se makro projevuje.

Sledování hodnot proměnných

Chyby často vzniknou tím, že se do proměnné načte nebo uloží jiná hodnota, než která by tam měla být. Proto je šikovné sledovat, jak se hodnota proměnné mění. Ideální je samozřejmě spojit sledování proměnné s krokováním, a sledovat, jak se proměnné mění po jednotlivých krocích.

Sledovanou proměnnou přidáme přes Debug / Add watch… .

přidání sledované proměnné

V dialogu zapíšeme název proměnné. Proměnná se pak objeví v přehledu dole – a to jak její hodnota, tak datový typ.

přidaná sledovaná proměnná

Při krokování makra se pak tyto hodnoty mění.

Sledovanou proměnnou můžeme přidat také jednorázově – pokud se chceme v konkrétním okamžiku podívat, jakou hodnotu má vybraná proměnná.

Stačí v textu označit název proměnné, a pak Debug / Quick watch… .

rychlé přidání

Zastavení makra v určitém bodě

Pokud chceme makro zastavit ve chvíli, kdy dojde do určitého bodu (nebo ověřit, že tímto bodem prochází), stačí přidat Breakpoint. Přidáme ho kliknutím do šedého pruhu vlevo od textu.

přidání breakpointu

V tomto bodě se makro vždy zastaví, a pak ho můžeme ručně pustit dál.

makro zastavené na breakpointu

Ještě jednodušší je, umístit někam do makra kurzor, a pak kliknout na Debug / Run to cursor (nebo Ctrl + F8).