Techniky ladění pro Excel 2016 VBA

Můžete narazit na nějaké problémy s kódem VBA, ale jak problém najdete? Někdy může váš kód VBA vyžadovat nějaké ladění. Pokračujte ve čtení a objevte čtyři nejběžnější metody ladění kódu Excel VBA:

  • Zkoumání kódu

  • Vkládání funkcí MsgBox na různá místa v kódu

  • Vkládání příkazů Debug.Print

  • Použití vestavěných ladicích nástrojů Excelu

Zkoumání kódu

Snad nejpřímější technikou ladění je jednoduše se blíže podívat na váš kód, abyste zjistili, zda můžete najít problém. Tato metoda samozřejmě vyžaduje znalosti a zkušenosti. Jinými slovy, musíte vědět, co děláte. Pokud budete mít štěstí, chyba hned vyskočí a vy se plácnete do čela a řeknete: "D'oh!" Když bolest čela ustoupí, můžete problém vyřešit.

Všimněte si použití slov: "Pokud budete mít štěstí." Často totiž objevíte chyby, když na svém programu pracujete osm hodin v kuse, jsou 2 hodiny ráno a běžíte na kofeinu a síle vůle. V takových chvílích máte štěstí, pokud dokonce můžete vidět svůj kód, natož najít chyby. Proto se nedivte, že pouhé prozkoumání kódu nestačí k tomu, abyste našli a odstranili všechny chyby, které obsahuje.

Pomocí funkce MsgBox

Běžným problémem mnoha programů je, že jedna nebo více proměnných nenabývá hodnot, které očekáváte. V takových případech je sledování proměnné (proměnných) během běhu kódu užitečnou technikou ladění. Jedním ze způsobů, jak toho dosáhnout, je vložení dočasných funkcí MsgBox do vaší rutiny. Pokud máte například proměnnou s názvem CellCount, můžete vložit následující příkaz:

MsgBox CellCount

Když spustíte rutinu, funkce MsgBox zobrazí hodnotu CellCount.

Často je užitečné zobrazit hodnoty dvou nebo více proměnných v okně zprávy. Následující příkaz zobrazuje aktuální hodnotu dvou proměnných: LoopIndex (1) a CellCount (72), oddělené mezerou.

MsgBox LoopIndex & „ “ & CellCount

Všimněte si, že tyto dvě proměnné jsou zkombinovány s operátorem zřetězení (&) a vložit mezi ně znak mezery. V opačném případě pole zprávy spojí dvě hodnoty dohromady, takže budou vypadat jako jedna hodnota. Místo znaku mezery můžete také použít vestavěnou konstantu vbNewLine. vbNewLine vloží konec odřádkování, který zobrazí text na novém řádku. Následující příkaz zobrazuje tři proměnné, každou na samostatném řádku:

Techniky ladění pro Excel 2016 VBA

Použití okna se zprávou k zobrazení hodnoty tří proměnných.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Tato technika není omezena na sledování proměnných. Během běhu kódu můžete použít okno se zprávou k zobrazení nejrůznějších užitečných informací. Pokud například váš kód prochází řadou listů, následující příkaz zobrazí název a typ aktivního listu:

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

Pokud se ve vaší zprávě objeví něco neočekávaného, ​​stiskněte Ctrl+Break a zobrazí se dialogové okno, které vám sdělí, že provádění kódu bylo přerušeno, máte čtyři možnosti:

  • Klikněte na tlačítko Pokračovat. Kód pokračuje ve vykonávání.

  • Klepněte na tlačítko Konec. Poprava se zastaví.

  • Klepněte na tlačítko Debug. VBE přejde do režimu ladění.

  • Klepněte na tlačítko Nápověda. Obrazovka nápovědy vám sdělí, že jste stiskli Ctrl+Break. Jinými slovy, není to příliš užitečné.

    Techniky ladění pro Excel 2016 VBA

    Stisknutím Ctrl+Break zastavíte provádění kódu a získáte několik možností.

Pokud vaše klávesnice nemá klávesu Break, zkuste stisknout Ctrl+ScrollLock.

Při ladění kódu můžete často používat funkce MsgBox. Jen se ujistěte, že jste je odstranili poté, co identifikujete a opravíte problém.

Vkládání příkazů Debug.Print

Jako alternativu k použití funkcí MsgBox v kódu můžete vložit jeden nebo více dočasných příkazů Debug.Print. Tyto příkazy použijte k vytištění hodnoty jedné nebo více proměnných v okně Immediate. Zde je příklad, který zobrazuje hodnoty tří proměnných:

Debug.Print LoopIndex, CellCount, MyVal

Všimněte si, že proměnné jsou odděleny čárkami. Jediným příkazem Debug.Print můžete zobrazit tolik proměnných, kolik chcete.

Debug.Print odešle výstup do okna Immediate, i když je toto okno skryté. Pokud není okno Okamžité VBE viditelné, stiskněte Ctrl+G (nebo zvolte Zobrazit → Okamžité okno). Zde je nějaký výstup v okně Immediate.

Techniky ladění pro Excel 2016 VBA

Příkaz Debug.Print odešle výstup do okna Immediate.

Na rozdíl od MsgBox příkazy Debug.Print nezastaví váš kód. Takže musíte sledovat okno Immediate, abyste viděli, co se děje.

Po odladění kódu nezapomeňte odebrat všechny příkazy Debug.Print. Dokonce i velké společnosti jako Microsoft občas zapomenou odstranit svá prohlášení Debug.Print. V několika předchozích verzích Excelu se při každém otevření doplňku Analysis ToolPak v okně Immediate zobrazilo několik podivných zpráv. Tento problém byl nakonec vyřešen v aplikaci Excel 2007.

Pomocí ladicího programu VBA

Návrháři Excelu jsou důvěrně obeznámeni s konceptem chyb. V důsledku toho Excel obsahuje sadu nástrojů pro ladění, které vám mohou pomoci opravit problémy v kódu VBA.

Leave a Comment

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Objevte, jak efektivně využívat příkazy Znovu a Opakovat ve Wordu 2016 pro opravy dokumentů a zlepšení pracovního toku.

Jak změnit zamčené a skryté formátování buněk

Jak změnit zamčené a skryté formátování buněk

Naučte se, jak efektivně změnit stav buněk v Excelu 2010 z uzamčených na odemčené nebo z neskrytého na skrytý s naším podrobným průvodcem.

Jak přeložit text v cizím jazyce ve Wordu 2016

Jak přeložit text v cizím jazyce ve Wordu 2016

Zjistěte, jak efektivně využít překladové nástroje v Office 2016 pro překlad slov a frází. Překlad Gizmo vám pomůže překládat text s lehkostí.

Jak používat šablony ve Wordu 2013

Jak používat šablony ve Wordu 2013

Šablona ve Wordu šetří čas a usnadňuje vytváření dokumentů. Zjistěte, jak efektivně používat šablony ve Wordu 2013.

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Zjistěte, jak si vytvořit e-mailová upozornění ve SharePointu a zůstat informováni o změnách v dokumentech a položkách.

Obsah SharePoint Online a typy obsahu

Obsah SharePoint Online a typy obsahu

Objevte skvělé funkce SharePoint Online, včetně tvorby a sdílení dokumentů a typů obsahu pro efektivnější správu dat.

Výpočet fiskálního čtvrtletí pro datum v Excelu

Výpočet fiskálního čtvrtletí pro datum v Excelu

Zjistěte, jak vypočítat fiskální čtvrtletí v Excelu pro různá data s použitím funkce CHOOSE.

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Zjistěte, jak vytvořit hypertextový odkaz v PowerPointu, který vám umožní pohodlně navigovat mezi snímky. Použijte náš návod na efektivní prezentace.

Zobrazit starší verzi dokumentu aplikace Word 2016

Zobrazit starší verzi dokumentu aplikace Word 2016

Uložili jste nedávno svůj dokument? Náš návod vám ukáže, jak zobrazit starší verze dokumentu v aplikaci Word 2016.

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra vlastní kartě na pásu karet nebo tlačítku na panelu nástrojů Rychlý přístup. Návod pro Excel 2013.