Techniky ladenia pre Excel 2016 VBA

Môžete naraziť na nejaké problémy s kódom VBA, ale ako zistíte problém? Niekedy môže váš kód VBA potrebovať nejaké ladenie. Pokračujte v čítaní a objavte štyri najbežnejšie metódy ladenia kódu Excel VBA:

  • Skúmanie kódu

  • Vloženie funkcií MsgBox na rôzne miesta vo vašom kóde

  • Vkladanie príkazov Debug.Print

  • Používanie vstavaných nástrojov na ladenie Excelu

Skúma sa váš kód

Snáď najpriamejšou technikou ladenia je jednoducho sa podrobne pozrieť na váš kód, aby ste zistili, či môžete nájsť problém. Táto metóda si samozrejme vyžaduje znalosti a skúsenosti. Inými slovami, musíte vedieť, čo robíte. Ak budete mať šťastie, chyba preskočí okamžite a vy sa plesknete do čela a poviete: "D'oh!" Keď bolesť čela ustúpi, môžete problém vyriešiť.

Všimnite si použitie slov: "Ak budete mať šťastie." Často totiž objavíte chyby, keď na programe pracujete osem hodín v kuse, sú 2 hodiny ráno a vy jazdíte na kofeíne a sile vôle. V takýchto chvíľach máte šťastie, ak môžete dokonca vidieť svoj kód, nieto nájsť chyby. Nebuďte preto prekvapení, ak jednoduché preskúmanie kódu nestačí na to, aby ste našli a odstránili všetky chyby, ktoré obsahuje.

Používanie funkcie MsgBox

Bežným problémom v mnohých programoch je, že jedna alebo viacero premenných nenadobudne hodnoty, ktoré očakávate. V takýchto prípadoch je monitorovanie premennej (premenných) počas behu kódu užitočnou technikou ladenia. Jedným zo spôsobov, ako to urobiť, je vloženie dočasných funkcií MsgBox do vašej rutiny. Napríklad, ak máte premennú s názvom CellCount, môžete vložiť nasledujúci príkaz:

MsgBox CellCount

Keď spustíte rutinu, funkcia MsgBox zobrazí hodnotu CellCount.

Často je užitočné zobraziť hodnoty dvoch alebo viacerých premenných v okne správy. Nasledujúci príkaz zobrazuje aktuálnu hodnotu dvoch premenných: LoopIndex (1) a CellCount (72), oddelené medzerou.

MsgBox LoopIndex & „ “ & CellCount

Všimnite si, že tieto dve premenné sa kombinujú s operátorom zreťazenia (&) a vkladajú medzi ne medzeru. V opačnom prípade pole správy spája dve hodnoty dohromady, takže vyzerajú ako jedna hodnota. Namiesto znaku medzery môžete použiť aj vstavanú konštantu vbNewLine. vbNewLine vloží zalomenie riadku, čím sa text zobrazí na novom riadku. Nasledujúci príkaz zobrazuje tri premenné, každú na samostatnom riadku:

Techniky ladenia pre Excel 2016 VBA

Použitie okna správ na zobrazenie hodnoty troch premenných.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Táto technika nie je obmedzená na monitorovanie premenných. Počas spustenia kódu môžete použiť okno so správou na zobrazenie všetkých druhov užitočných informácií. Ak napríklad váš kód prechádza sériou hárkov, nasledujúci príkaz zobrazí názov a typ aktívneho hárka:

MsgBox ActiveSheet.Name & „ “ & TypeName(ActiveSheet)

Ak sa v okne správy zobrazuje niečo neočakávané, stlačte Ctrl+Break a zobrazí sa dialógové okno, ktoré vám oznámi, že vykonávanie kódu bolo prerušené, máte štyri možnosti:

  • Kliknite na tlačidlo Pokračovať. Kód pokračuje vo vykonávaní.

  • Kliknite na tlačidlo Koniec. Vykonávanie sa zastaví.

  • Kliknite na tlačidlo Debug. VBE prejde do režimu ladenia.

  • Kliknite na tlačidlo Pomocník. Obrazovka pomocníka vám oznámi, že ste stlačili Ctrl+Break. Inými slovami, nie je to veľmi užitočné.

    Techniky ladenia pre Excel 2016 VBA

    Stlačením Ctrl+Break zastavíte vykonávanie kódu a získate niekoľko možností.

Ak vaša klávesnica nemá kláves Break, skúste stlačiť Ctrl+ScrollLock.

Pri ladení kódu môžete často používať funkcie MsgBox. Len sa uistite, že ste ich odstránili po identifikácii a odstránení problému.

Vkladanie príkazov Debug.Print

Ako alternatívu k používaniu funkcií MsgBox vo vašom kóde môžete vložiť jeden alebo viac dočasných príkazov Debug.Print. Tieto príkazy použite na vytlačenie hodnoty jednej alebo viacerých premenných v okne Immediate. Tu je príklad, ktorý zobrazuje hodnoty troch premenných:

Debug.Print LoopIndex, CellCount, MyVal

Všimnite si, že premenné sú oddelené čiarkami. Jediným príkazom Debug.Print môžete zobraziť toľko premenných, koľko chcete.

Debug.Print odosiela výstup do okna Immediate, aj keď je toto okno skryté. Ak sa okno Okamžité okno VBE nezobrazuje, stlačte Ctrl+G (alebo vyberte Zobraziť → Okamžité okno). Tu je nejaký výstup v okne Immediate.

Techniky ladenia pre Excel 2016 VBA

Príkaz Debug.Print odošle výstup do okna Immediate.

Na rozdiel od MsgBox príkazy Debug.Print nezastavia váš kód. Takže musíte sledovať okno Immediate, aby ste videli, čo sa deje.

Po odladení kódu nezabudnite odstrániť všetky príkazy Debug.Print. Dokonca aj veľké spoločnosti ako Microsoft občas zabudnú odstrániť svoje vyhlásenia Debug.Print. V niekoľkých predchádzajúcich verziách Excelu sa pri každom otvorení doplnku Analysis ToolPak v okne Immediate zobrazilo niekoľko zvláštnych správ. Tento problém bol nakoniec opravený v Exceli 2007.

Pomocou ladiaceho nástroja VBA

Dizajnéri Excelu dôverne poznajú koncept chýb. V dôsledku toho Excel obsahuje sadu nástrojov na ladenie, ktoré vám môžu pomôcť opraviť problémy vo vašom kóde VBA.


Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime len na čítanie v systéme Windows Microsoft Word otvára súbory v režime len na čítanie, takže ich nie je možné upravovať? Nebojte sa, metódy sú uvedené nižšie

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť chyby pri tlači nesprávnych dokumentov Microsoft Word Chyby pri tlači dokumentov Word so zmeneným typom písma, chaotickými odsekmi, chýbajúcim textom alebo strateným obsahom sú pomerne časté. Avšak, nie

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Ak ste použili pero alebo zvýrazňovač na kreslenie na powerpointové snímky počas prezentácie, môžete si kresby uložiť pre ďalšiu prezentáciu alebo ich vymazať, aby ste pri ďalšom zobrazení začali s čistými powerpointovými snímkami. Ak chcete vymazať kresby perom a zvýrazňovačom, postupujte podľa týchto pokynov: Vymazanie riadkov jedna na […]

Obsah knižnice štýlov v SharePointe 2010

Obsah knižnice štýlov v SharePointe 2010

Knižnica štýlov obsahuje súbory CSS, súbory XSL (Extensible Stylesheet Language) a obrázky používané preddefinovanými vzorovými stránkami, rozloženiami strán a ovládacími prvkami v SharePointe 2010. Ak chcete nájsť súbory CSS v knižnici štýlov publikačnej lokality: Vyberte Akcie lokality→Zobraziť Všetok obsah stránky. Zobrazí sa obsah stránky. Knižnica štýlov sa nachádza v […]

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Nezahlcujte svoje publikum obrovskými číslami. V programe Microsoft Excel môžete zlepšiť čitateľnosť svojich tabúľ a zostáv formátovaním čísel tak, aby sa zobrazovali v tisíckach alebo miliónoch.

Ako zdieľať a sledovať lokality SharePoint

Ako zdieľať a sledovať lokality SharePoint

Zistite, ako používať nástroje sociálnych sietí SharePoints, ktoré umožňujú jednotlivcom a skupinám komunikovať, spolupracovať, zdieľať a spájať sa.

Ako previesť dátumy do Julianových formátov v Exceli

Ako previesť dátumy do Julianových formátov v Exceli

Juliánske dátumy sa často používajú vo výrobných prostrediach ako časová pečiatka a rýchla referencia pre číslo šarže. Tento typ kódovania dátumu umožňuje maloobchodníkom, spotrebiteľom a servisným zástupcom identifikovať, kedy bol produkt vyrobený, a teda aj vek produktu. Juliánske dátumy sa používajú aj v programovaní, armáde a astronómii. Rôzne […]

Ako vytvoriť Access Web App

Ako vytvoriť Access Web App

V Accesse 2016 môžete vytvoriť webovú aplikáciu. Čo je to teda webová aplikácia? Web znamená, že je online a aplikácia je len skratka pre „aplikáciu“. Vlastná webová aplikácia je online databázová aplikácia, ku ktorej sa pristupuje z cloudu pomocou prehliadača. Vytvárate a udržiavate webovú aplikáciu vo verzii pre počítače […]

Panel rýchleho spustenia v SharePointe 2010

Panel rýchleho spustenia v SharePointe 2010

Väčšina stránok v SharePointe 2010 zobrazuje zoznam navigačných prepojení na paneli Rýchle spustenie pozdĺž ľavej strany stránky. Panel Rýchle spustenie zobrazuje prepojenia na odporúčaný obsah lokality, ako sú zoznamy, knižnice, lokality a publikačné stránky. Panel Rýchle spustenie obsahuje dva veľmi dôležité odkazy: Odkaz na celý obsah lokality: […]

Čo znamenajú chybové hlásenia v programe Excel?

Čo znamenajú chybové hlásenia v programe Excel?

Pre jednoduché problémy Riešiteľ v Exceli zvyčajne rýchlo nájde optimálne hodnoty premennej Riešiteľ pre cieľovú funkciu. V niektorých prípadoch má však Riešiteľ problém nájsť hodnoty premennej Riešiteľ, ktoré optimalizujú cieľovú funkciu. V týchto prípadoch Riešiteľ zvyčajne zobrazí hlásenie alebo chybové hlásenie, ktoré popisuje alebo diskutuje problém, ktorý […]