Editor jazyka Visual Basic - jak jej otevřít a používat v Excelu

Prvním krokem k práci s VBA v Excelu je seznámit se s editorem jazyka Visual Basic (nazývaným také VBA editor nebo VB Editor).

V tomto tutoriálu pokryju vše, co je třeba vědět o editoru VBA, a několik užitečných možností, které byste měli vědět při kódování v aplikaci Excel VBA.

Co je editor jazyka Visual Basic v aplikaci Excel?

Visual Basic Editor je samostatná aplikace, která je součástí Excelu a otevírá se při každém otevření sešitu Excelu. Ve výchozím nastavení je skrytý a pro přístup k němu ho musíte aktivovat.

VB Editor je místo, kde uchováváte kód VB.

Existuje několik způsobů, jak získat kód v editoru VB:

  1. Když zaznamenáte makro, automaticky vytvoří nový modul v editoru VB a vloží kód do tohoto modulu.
  2. Kód VB můžete ručně zadat v editoru VB.
  3. Můžete zkopírovat kód z jiného sešitu nebo z internetu a vložit jej do editoru VB.

Otevření editoru VB

Existuje několik způsobů, jak otevřít editor jazyka Visual Basic v aplikaci Excel:

  1. Použití klávesové zkratky (nejjednodušší a nejrychlejší)
  2. Pomocí karty Vývojář.
  3. Pomocí karet pracovního listu.

Pojďme si rychle projít každou z nich.

Klávesová zkratka pro otevření editoru jazyka Visual Basic

Nejjednodušší způsob, jak otevřít editor jazyka Visual Basic, je použít klávesovou zkratku - ALT + F11 (podržte klávesu ALT a stiskněte klávesu F11).

Jakmile to provedete, otevře se samostatné okno pro editor jazyka.

Tato zkratka funguje jako přepínač, takže když ji znovu použijete, dostanete se zpět do aplikace Excel (bez zavření editoru VB).

Zkratka pro verzi pro Mac je Volba + F11 nebo Fn + Opt + F11

Pomocí karty Vývojář

Chcete -li otevřít editor jazyka z pásu karet:

  1. Klikněte na kartu Vývojář (pokud se vám karta vývojáře nezobrazuje, přečtěte si, jak ji získat).
  2. Ve skupině Kód klikněte na Visual Basic.

Pomocí karty Pracovní list

Toto je méně používaná metoda k otevření editoru Vb.

Přejděte na některou z karet listu, klikněte pravým tlačítkem a vyberte „Zobrazit kód“.

Tato metoda by neotevřela pouze editor VB, ale také vás přenese do okna kódu pro tento objekt listu.

To je užitečné, když chcete napsat kód, který funguje pouze pro konkrétní list. To je obvykle případ událostí pracovního listu.

Anatomie editoru jazyka Visual Basic v aplikaci Excel

Když poprvé otevřete editor VB, může to vypadat trochu zdrcující.

Existují různé možnosti a sekce, které se na první pohled mohou zdát zcela nové.

Také má stále starý vzhled aplikace Excel 97 dní. Přestože se Excel za ta léta ohromně zlepšil v designu a použitelnosti, VB Editor nezaznamenal žádnou změnu ve vzhledu.

V této části vás provedu různými částmi aplikace Editor jazyka.

Poznámka: Když jsem před lety začal používat VBA, byl jsem docela zahlcen všemi těmito novými možnostmi a okny. Ale jak si na práci s VBA zvyknete, s většinou z nich si budete rozumět. A většinu času nebudete muset používat všechny možnosti, pouze plnou ruku.

Níže je obrázek různých součástí editoru VB. Ty jsou pak podrobně popsány v níže uvedených částech tohoto kurzu.

Pojďme si nyní rychle projít každou z těchto složek a pochopit, k čemu slouží:

Lišta menu

Zde máte všechny možnosti, které můžete použít v editoru VB. Je to podobné pásu karet aplikace Excel, kde máte na každé kartě karty a možnosti.

Kliknutím na jednotlivé prvky nabídky můžete prozkoumat dostupné možnosti.

Všimnete si, že většina možností v editoru VB má vedle sebe zmíněné klávesové zkratky. Jakmile si zvyknete na několik klávesových zkratek, bude práce s editorem VB opravdu snadná.

Panel nástrojů

Ve výchozím nastavení je v editoru VB panel nástrojů, který obsahuje některé užitečné možnosti, které budete pravděpodobně potřebovat nejčastěji. Je to stejné jako panel nástrojů Rychlý přístup v aplikaci Excel. Poskytuje vám rychlý přístup k některým užitečným možnostem.

Můžete jej trochu přizpůsobit odebráním nebo přidáním možností (kliknutím na malou šipku směřující dolů na konci panelu nástrojů).

Při práci s editorem VB je ve většině případů vše, co potřebujete, výchozí panel nástrojů.

Panel nástrojů můžete přes lištu nabídek přesunout kliknutím na tři šedé tečky (na začátku panelu nástrojů) a přetažením nad lištu nabídek.

Poznámka: V editoru VB jsou čtyři panely nástrojů - formulář Standard, Debug, Edit a User. To, co vidíte na obrázku výše (což je také výchozí), je standardní panel nástrojů. K dalším panelům nástrojů se dostanete tak, že přejdete na možnost Zobrazit a umístíte kurzor na možnost Panely nástrojů. Pokud chcete, můžete do editoru VB přidat jeden nebo více panelů nástrojů.

Průzkumník projektů

Project Explorer je okno vlevo, které zobrazuje všechny objekty aktuálně otevřené v Excelu.

Když pracujete s aplikací Excel, každý otevřený sešit nebo doplněk je projekt. A každý z těchto projektů může mít v sobě sbírku předmětů.

Například na obrázku níže Průzkumník projektů ukazuje dva otevřené sešity (Kniha1 a Kniha2) a objekty v každém sešitu (pracovní listy, ThisWorkbook a Modul v Knize1).

Vlevo od objektů je ikona plus, kterou můžete použít ke sbalení seznamu objektů nebo rozbalení a zobrazení kompletního seznamu objektů.

Součástí Průzkumníka projektů mohou být následující objekty:

  1. Všechny otevřené sešity - v každém sešitu (kterému se také říká projekt) můžete mít následující objekty:
    • Objekt listu pro každý list v sešitu
    • ThisWorkbook objekt který představuje samotný sešit
    • Grafový list objekt pro každý list grafu (nejsou tak běžné jako pracovní listy)
    • Moduly - Tady jde kód generovaný záznamem makra. Zde také můžete napsat nebo zkopírovat a vložit kód VBA.
  2. Všechny otevřené doplňky

Uvažujte Průzkumníka projektů jako místo, které popisuje všechny objekty otevřené v aplikaci Excel v daném čase.

Klávesová zkratka pro otevření Průzkumníka projektů je Ovládání + R. (podržte ovládací klávesu a poté stiskněte R). Zavřete jej jednoduše kliknutím na ikonu zavření v pravé horní části okna Průzkumníka projektů.

Poznámka: Pro každý objekt v Project Exploreru existuje okno s kódem, do kterého můžete kód napsat (nebo ho odněkud zkopírovat a vložit). Okno s kódem se zobrazí, když na objekt dvakrát kliknete.

Okno vlastností

V okně vlastností se zobrazí vlastnosti vybraného objektu. Pokud okno Vlastnosti ještě nemáte, můžete ho získat pomocí klávesové zkratky F4 (nebo přejděte na kartu Zobrazit a klikněte na okno Vlastnosti).

Okno vlastností je plovoucí okno, které můžete ukotvit v editoru VB. V níže uvedeném příkladu jsem jej ukotvil těsně pod Průzkumníkem projektů.

Okno vlastností nám umožňuje změnit vlastnosti vybraného objektu. Pokud například chci vytvořit list skrytý (nebo velmi skrytý), mohu to udělat změnou vlastnosti Viditelné u vybraného objektu listu.

Příbuzný: Skrytí listu v aplikaci Excel (nelze jej snadno odkrýt)

Okno s kódem

Pro každý objekt, který je uveden v Průzkumníku projektů, existuje okno s kódem. Okno s kódem pro objekt můžete otevřít poklepáním na něj v oblasti Průzkumník projektů.

Okno s kódem je místo, kde budete psát kód nebo kopírovat a vložit kód odjinud.

Když zaznamenáváte makro, jeho kód přejde do okna kódu modulu. Excel při nahrávání makra automaticky vloží modul a umístí do něj kód.

Příbuzný: Jak spustit makro (kód VBA) v aplikaci Excel.

Okamžité okno

Okno Immediate se většinou používá při ladění kódu. Jedním ze způsobů, jak mohu použít okno Immediate, je použití příkazu Print.Debug v kódu a spuštění kódu.

Pomáhá mi to ladit kód a určit, kde se můj kód zasekne. Pokud v bezprostředním okně dostanu výsledek Print.Debug, vím, že kód fungoval alespoň do tohoto řádku.

Pokud s kódováním VBA začínáte, může vám chvíli trvat, než budete moci použít přímé okno pro ladění.

Ve výchozím nastavení není okamžité okno v editoru VB viditelné. Můžete to získat pomocí klávesové zkratky Control + G (nebo můžete přejít na kartu Zobrazit a kliknout na „Okamžité okno“).

Kam přidat kód v editoru VB

Doufám, že nyní máte základní znalosti o tom, co je VB Editor a jaké má všechny části.

V této části tohoto tutoriálu vám ukážu, kam přidat kód VBA v editoru jazyka.

Existují dvě místa, kde můžete přidat kód VBA v aplikaci Excel:

  1. Okno kódu pro objekt. Těmito objekty může být sešit, pracovní list, uživatelský formulář atd.
  2. Okno kódu modulu.

Okno kódu modulu vs. okno kódu objektu

Dovolte mi nejprve rychle vymazat rozdíl mezi přidáním kódu v modulu a přidáním kódu v okně kódu objektu.

Když k některému z objektů přidáte kód, je to závislé na nějaké akci tohoto objektu, která tento kód spustí. Pokud například chcete zobrazit všechny listy v sešitu, jakmile otevřete tento sešit, kód by šel do objektu ThisWorkbook (který představuje sešit).

Spouštěč v tomto případě otevírá sešit.

Podobně, pokud chcete list chránit, jakmile se aktivuje nějaký jiný list, jeho kód by šel do okna kódu listu.

Tyto spouště se nazývají události a můžete přiřadit kód, který má být spuštěn, když dojde k události.

Příbuzný: Další informace o událostech ve VBA.

Naopak kód v modulu je třeba spustit buď ručně (nebo jej lze zavolat i z jiných podprogramů).

Když zaznamenáváte makro, Excel automaticky vytvoří modul a vloží do něj zaznamenaný kód makra. Pokud nyní musíte spustit tento kód, musíte makro spustit ručně.

Přidání kódu VBA do modulu

Zatímco záznam makra automaticky vytvoří modul a vloží do něj kód, při používání záznamníku makra existují určitá omezení. Například nemůže používat smyčky nebo podmínky If Then Else.

V takových případech je lepší buď kód zkopírovat a vložit ručně, nebo jej napsat sami.

Modul lze použít k uchování následujících typů kódů VBA:

  1. Prohlášení: Proměnné můžete deklarovat v modulu. Deklarace proměnných vám umožňuje určit, jaký typ dat může proměnná obsahovat. Proměnnou můžete deklarovat pouze pro dílčí rutinu nebo pro všechny dílčí rutiny v modulu (nebo všechny moduly)
  2. Podprogramy (procedury): Toto je kód, který obsahuje kroky, které má VBA provést.
  3. Funkční postupy: Toto je kód, který vrací jednu hodnotu a můžete jej použít k vytváření vlastních funkcí (nazývaných také funkce definované uživatelem nebo UDF ve VBA)

Ve výchozím nastavení není modul součástí sešitu. Před použitím jej musíte nejprve vložit.

Přidání modulu v editoru VB

Níže jsou uvedeny kroky pro přidání modulu:

  1. Klepněte pravým tlačítkem na libovolný objekt sešitu (ve kterém chcete modul).
  2. Najeďte kurzorem na možnost Vložit.
  3. Klikněte na Modul.

Tím by se okamžitě vytvořila složka s názvem Modul a vložil by se objekt nazvaný Modul 1. Pokud již modul máte vložený, výše uvedené kroky by vložily další modul.

Jakmile je modul vložen, můžete dvakrát kliknout na objekt modulu v Průzkumníku projektů a otevře se mu okno s kódem.

Nyní můžete kód zkopírovat nebo vložit nebo jej sami napsat.

Demontáž modulu

Níže jsou uvedeny kroky k odebrání modulu v aplikaci Excel VBA:

  1. Klikněte pravým tlačítkem na modul, který chcete odebrat.
  2. Klikněte na možnost Odebrat modul.
  3. V dialogovém okně, které se otevře, klikněte na Ne.

Poznámka: Před odebráním můžete modul exportovat. Uloží se jako soubor .bas a můžete jej importovat do jiného projektu. Chcete-li exportovat modul, klikněte na něj pravým tlačítkem a klikněte na „Exportovat soubor“.

Přidání kódu do okna kódu objektu

Chcete-li otevřít okno kódu pro objekt, jednoduše na něj dvakrát klikněte.

Když se otevře, můžete zadat kód ručně nebo zkopírovat a vložit kód z jiných modulů nebo z internetu.

Všimněte si, že některé objekty vám umožňují vybrat událost, pro kterou chcete napsat kód.

Pokud například chcete napsat kód, aby se něco stalo při změně výběru v listu, musíte nejprve vybrat listy z rozevíracího seznamu v levé horní části okna kódu a poté vybrat událost změny z rozevíracího seznamu. -dole vpravo.

Poznámka: Tyto události jsou specifické pro objekt. Když otevřete okno kódu pro sešit, uvidíte události související s objektem sešitu. Když otevřete okno kódu pro list, uvidíte události související s objektem listu.

Přizpůsobení editoru VB

Přestože je výchozí nastavení editoru jazyka Visual Basic pro většinu uživatelů dostatečně dobré, umožňuje vám dále přizpůsobit rozhraní a několik funkcí.

V této části tutoriálu vám ukážu všechny možnosti, které máte při přizpůsobení editoru VB.

Chcete -li přizpůsobit prostředí editoru VB, klikněte na panelu nástrojů na Nástroje a poté klikněte na Možnosti.

Otevře se dialogové okno Možnosti, které vám poskytne všechny možnosti přizpůsobení v editoru VB. Dialogové okno „Možnosti“ má čtyři karty (jak je uvedeno níže), které mají různé možnosti přizpůsobení editoru jazyka.

Pojďme si rychle projít každou z těchto karet a důležité možnosti na každé z nich.

Tab. Editoru

I když vestavěné nastavení ve většině případů funguje dobře, dovolte mi ještě projít možnosti na této kartě.

Jak budete pracovat s VBA v aplikaci Excel lépe, možná budete chtít upravit editor VB pomocí některých z těchto možností.

Automatická kontrola syntaxe

Když pracujete s VBA v Excelu, jakmile uděláte chybu syntaxe, uvítá vás vyskakovací dialogové okno (s nějakým popisem chyby). Něco, jak je uvedeno níže:

Pokud tuto možnost zakážete, toto vyskakovací okno se nezobrazí, i když uděláte chybu syntaxe. Došlo by však ke změně barvy v textu kódu, což znamená, že došlo k chybě.

Pokud jste začátečník, doporučuji ponechat tuto možnost povolenou. Jak budete mít s kódováním větší zkušenosti, může vám začít tato vyskakovací okna připadat dráždivá a poté můžete tuto možnost deaktivovat.

Vyžadovat variabilní prohlášení

Tuto možnost doporučuji povolit.

Při práci s VBA byste pomocí proměnných uchovávali různé datové typy a objekty.

Když tuto možnost povolíte, automaticky vloží v horní části okna kódu příkaz ‘Option Explicit’. To vás donutí deklarovat všechny proměnné, které ve svém kódu používáte. Pokud proměnnou nedeklarujete a pokusíte se spustit kód, zobrazí se chyba (jak je uvedeno níže).

Ve výše uvedeném případě jsem použil proměnnou Var, ale nedeklaroval jsem ji. Když se tedy pokusím spustit kód, zobrazí se chyba.

Tato možnost je velmi užitečná, pokud máte mnoho proměnných. Často mi to pomáhá najít nesprávně napsané názvy proměnných, protože jsou považovány za nedeklarované a zobrazí se chyba.

Poznámka: Když tuto možnost povolíte, nebude mít vliv na stávající moduly.

Člen automatického seznamu

Tato možnost je velmi užitečná, protože vám pomůže získat seznam vlastností metod pro objekt.

Pokud například chci odstranit list (List1), musím použít řádek Sheet1.Delete.

Zatímco píšu kód, jakmile zadám tečku, zobrazí mi všechny metody a vlastnosti spojené s objektem listu (jak je uvedeno níže).

Funkce automatického seznamu je skvělá, protože vám umožňuje:

  • Rychle vyberte vlastnost a metodu ze seznamu a ušetříte čas
  • Ukáže vám všechny vlastnosti a metody, o kterých možná nevíte
  • Vyvarujte se pravopisných chyb

Tato možnost je ve výchozím nastavení povolena a doporučuji ji ponechat.

Možnosti Auto Quick Info

Když zadáte funkci do listu aplikace Excel, zobrazí se vám nějaké informace o funkci - například argumenty, které to vyžaduje.

Podobně když zadáte funkci ve VBA, zobrazí se vám nějaké informace (jak je uvedeno níže). Aby se to však stalo, musíte se ujistit, že je povolena možnost Auto Quick Info (což je ve výchozím nastavení).

Možnosti tipů pro automatické údaje

Když procházíte kód řádek po řádku a umístíte kurzor nad název proměnné, zobrazí se vám hodnota proměnné.

Považuji to za docela užitečné při ladění kódu nebo procházení kódu řádek po řádku, který obsahuje smyčky.

Ve výše uvedeném příkladu, jakmile umístím kurzor na proměnnou (var), ukazuje hodnotu, kterou drží.

Tato možnost je ve výchozím nastavení povolena a doporučuji ji ponechat.

Automatické odsazení

Protože kódy VBA mohou být dlouhé a chaotické, použití odsazení zvyšuje čitelnost kódu.

Při psaní kódu můžete odsadit pomocí klávesy tab.

Tato možnost zajistí, že až budete hotovi s odsazenou čarou a stisknete Enter, další řádek nezačne úplně od začátku, ale bude mít stejné odsazení jako předchozí řádek.

Ve výše uvedeném příkladu poté, co napíšu řádek Debug.Print a stisknu Enter, začne přímo pod ním (se stejnou úrovní odsazení).

Považuji tuto možnost za užitečnou a její vypnutí by znamenalo ruční odsazení každého řádku v bloku kódu, který chci odsadit.

Pokud chcete, můžete změnit hodnotu odsazení. Nechávám to na výchozí hodnotě.

Úpravy textu přetažením

Když je tato možnost povolena, umožňuje vám vybrat blok kódu a přetáhnout jej.

Šetří čas, protože jej nemusíte nejprve stříhat a pak vkládat. Můžete jej jednoduše vybrat a přetáhnout.

Tato možnost je ve výchozím nastavení povolena a doporučuji ji ponechat.

Výchozí zobrazení je plné

Když je tato možnost povolena, budete moci zobrazit všechny procedury v modulu v jednom posouvatelném seznamu.

Pokud tuto možnost zakážete, budete moci najednou zobrazit pouze jeden modul. Z rozevíracího seznamu v pravé horní části okna kódu budete muset vybrat modul, který chcete zobrazit.

Tato možnost je ve výchozím nastavení povolena a doporučuji ji tak ponechat.

Jedním z důvodů, proč byste jej mohli chtít deaktivovat, když máte více procedur, které jsou obrovské a procházení přes ně zabere čas, nebo když máte spoustu procedur a chcete je rychle najít místo plýtvání časem při rolování.

Oddělovač procedur

Když je tato možnost povolena, uvidíte čáru (druh děliče) mezi dvěma postupy.

Považuji to za užitečné, protože to vizuálně ukazuje, kdy jedna procedura končí a druhá začíná.

Je ve výchozím nastavení povoleno a doporučuji to tak ponechat.

Karta Formát editoru

Pomocí možností na kartě Formát editoru můžete přizpůsobit vzhled kódu v okně kódu.

Osobně si ponechávám všechny výchozí možnosti, protože mi to vyhovuje. Pokud chcete, můžete to upravit podle svých preferencí.

Chcete -li provést změnu, musíte nejprve vybrat možnost v poli Barvy kódu. Jakmile je vybraná možnost, můžete pro ni upravit popředí, pozadí a barvu indikátoru.

Na této kartě lze také nastavit typ a velikost písma. Doporučuje se použít písmo s pevnou šířkou, jako je Courier New, protože zvyšuje čitelnost kódu.

Všimněte si toho, že nastavení typu a velikosti písma zůstane stejné pro všechny typy kódů (tj. Všechny typy kódů zobrazené v poli barvy kódu).

Níže je obrázek, kde jsem vybral Breakpoint, a mohu změnit jeho formátování.

Poznámka: Pokud je povolena možnost Indikátor okraje, zobrazí se vlevo od kódu malá lišta okraje. Je to užitečné, protože ukazuje užitečné indikátory při provádění kódu. Ve výše uvedeném příkladu, když nastavíte zarážku, automaticky zobrazí červenou tečku nalevo od čáry v pruhu okraje. Alternativně můžete pro nastavení zarážky jednoduše kliknout na okrajový pruh vlevo od řádku kódu, který chcete jako zarážku.

Ve výchozím nastavení je panel indikátoru marže povolen a doporučuji jej ponechat.

Jeden z mých studentů kurzu VBA považoval tyto možnosti přizpůsobení za užitečné a byla barvoslepá. Pomocí zde uvedených možností dokázala nastavit barvu a formáty, které jí usnadnily práci s VBA.

Obecné Tab

Karta Obecné má mnoho možností, ale nemusíte nic měnit.

Doporučuji ponechat všechny možnosti tak, jak jsou.

Jednou z důležitých možností, o kterých byste na této kartě měli vědět, je zpracování chyb.

Ve výchozím nastavení je vybrána možnost „Přerušit neošetřené chyby“ a doporučuji to tak ponechat.

Tato možnost znamená, že pokud váš kód narazí na chybu a vy jste tuto chybu v kódu již nezpracovali, pak se přeruší a zastaví. Pokud jste však chybu vyřešili (například pomocí možností Při chybě pokračovat nebo Další při chybě), pak se nerozbije (protože chyby nejsou neošetřené).

Dokovací karta

Na této kartě můžete určit, která okna chcete ukotvit.

Dokování znamená, že můžete opravit polohu okna (například průzkumníka projektu nebo okna Vlastnosti) tak, aby se nepohybovalo kolem a abyste mohli zobrazit všechna různá okna současně.

Pokud neukotvíte v doku, budete moci zobrazit jedno okno najednou v režimu celé obrazovky a budete muset přepnout na druhé.

Doporučuji ponechat výchozí nastavení.

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

wave wave wave wave wave