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.


Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows Aplikace Microsoft Word otevírá soubory v režimu pouze pro čtení, takže je nelze upravovat? Nebojte se, metody jsou uvedeny níže

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit chyby při tisku nesprávných dokumentů Microsoft Word Chyby při tisku dokumentů Word se změněným písmem, chaotickými odstavci, chybějícím textem nebo ztraceným obsahem jsou poměrně časté. Nicméně ne

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Pokud jste použili pero nebo zvýrazňovač ke kreslení na snímky aplikace PowerPoint během prezentace, můžete kresby uložit pro další prezentaci nebo je vymazat, takže až ji příště ukážete, začnete s čistými snímky aplikace PowerPoint. Chcete-li vymazat kresby perem a zvýrazňovačem, postupujte podle těchto pokynů: Mazání čar jedna na […]

Obsah knihovny stylů v SharePointu 2010

Obsah knihovny stylů v SharePointu 2010

Knihovna stylů obsahuje soubory CSS, soubory XSL (Extensible Stylesheet Language) a obrázky používané předdefinovanými vzorovými stránkami, rozvržení stránek a ovládací prvky v SharePointu 2010. Chcete-li najít soubory CSS v knihovně stylů webu pro publikování: Vyberte Akce webu→ Zobrazit Veškerý obsah webu. Zobrazí se obsah webu. Knihovna stylů se nachází v […]

Formátování čísel v tisících a milionech v sestavách Excel

Formátování čísel v tisících a milionech v sestavách Excel

Nezahlcujte své publikum gargantuovskými čísly. V aplikaci Microsoft Excel můžete zlepšit čitelnost řídicích panelů a sestav formátováním čísel tak, aby se zobrazovaly v tisících nebo milionech.

Jak sdílet a sledovat weby SharePoint

Jak sdílet a sledovat weby SharePoint

Naučte se používat nástroje sociálních sítí SharePoints, které umožňují jednotlivcům a skupinám komunikovat, spolupracovat, sdílet a propojovat se.

Jak převést data do juliánských formátů v aplikaci Excel

Jak převést data do juliánských formátů v aplikaci Excel

Juliánská data se často používají ve výrobním prostředí jako časové razítko a rychlý odkaz pro číslo šarže. Tento typ kódování data umožňuje maloobchodníkům, spotřebitelům a servisním zástupcům identifikovat, kdy byl produkt vyroben, a tím i stáří produktu. Juliánská data se také používají v programování, armádě a astronomii. Odlišný […]

Jak vytvořit webovou aplikaci Access

Jak vytvořit webovou aplikaci Access

Webovou aplikaci můžete vytvořit v Accessu 2016. Co je tedy vlastně webová aplikace? Web znamená, že je online, a aplikace je jen zkratka pro „aplikaci“. Vlastní webová aplikace je online databázová aplikace přístupná z cloudu pomocí prohlížeče. Webovou aplikaci vytváříte a udržujete ve verzi pro počítače […]

Panel rychlého spuštění v SharePointu 2010

Panel rychlého spuštění v SharePointu 2010

Většina stránek v SharePointu 2010 zobrazuje seznam navigačních odkazů na panelu Snadné spuštění na levé straně stránky. Panel Snadné spuštění zobrazuje odkazy na doporučený obsah webu, jako jsou seznamy, knihovny, weby a stránky publikování. Panel Snadné spuštění obsahuje dva velmi důležité odkazy: Odkaz na veškerý obsah webu: […]

Co znamenají chybové zprávy Řešitel v Excelu?

Co znamenají chybové zprávy Řešitel v Excelu?

U jednoduchých problémů Řešitel v Excelu obvykle rychle najde optimální hodnoty proměnné Řešitel pro účelovou funkci. Ale v některých případech má Řešitel problém najít hodnoty proměnné Řešitel, které optimalizují účelovou funkci. V těchto případech Řešitel obvykle zobrazí zprávu nebo chybovou zprávu, která popisuje nebo popisuje problém, který […]