Jedním ze způsobů, jak můžete získat kód VBA do modulu VBA, je použít záznamník maker Excel k zaznamenání vašich akcí a jejich převedení na kód VBA. Ne všechny úlohy však lze přeložit do jazyka VBA pomocí záznamu makra. Můžete také zadat kód přímo nebo zkopírovat kód z jednoho modulu a vložit jej do jiného.
Zadávání a úpravy textu v modulu VBA fungují tak, jak byste mohli očekávat. Text můžete vybírat, kopírovat, vyjímat, vkládat a dělat s ním další věci.
Jeden řádek kódu VBA může být libovolně dlouhý. Můžete však chtít použít znak pro pokračování řádku k rozdělení dlouhých řádků kódu. Chcete-li pokračovat jedním řádkem kódu (také známým jako příkaz ) z jednoho řádku na další, ukončete první řádek mezerou následovanou podtržítkem (_). Poté pokračujte ve výroku na dalším řádku. Zde je příklad jednoho příkazu rozděleného do tří řádků:
Selection.Sort Key1:=Range("A1"), _
Order1:=xlAscending, Header:=xlHádej, _
Orientace:=xlTopToBottom
Tento příkaz by fungoval stejně, pokud by byl zadán na jednom řádku (bez znaků pro pokračování řádku).
VBE má několik úrovní zpět a znovu. Pokud jste smazali příkaz, který byste neměli mít, použijte tlačítko Zpět na panelu nástrojů (nebo stiskněte Ctrl+Z), dokud se příkaz znovu nezobrazí. Po vrácení zpět můžete pomocí tlačítka Znovu provést změny, které jste vrátili.
Jste připraveni zadat skutečný, živý kód? Zkuste následující kroky:
Vytvořte nový sešit v Excelu.
Stisknutím Alt+F11 aktivujte VBE.
V okně projektu klikněte na název nového sešitu.
Zvolte Vložit → Modul pro vložení modulu VBA do projektu.
Do modulu zadejte následující kód:
Sub GuessName()
Dim Msg jako řetězec
Dim Ans As Long
Msg = "Je vaše jméno " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
If Ans = vbNo Then MsgBox "Oh, nevadí."
If Ans = vbYes Then MsgBox "Musím být jasnovidec!"
End Sub
Ujistěte se, že je kurzor umístěn kdekoli v textu, který jste zadali, a poté stisknutím klávesy F5 spusťte postup.
F5 je zkratka pro příkaz Spustit → Spustit Sub/UserForm.
Když zadáte kód uvedený v kroku 5, můžete si všimnout, že VBE provádí určité úpravy zadávaného textu. Například po zadání příkazu Sub VBE automaticky vloží příkaz End Sub. A pokud vynecháte mezeru před nebo za rovnítkem, VBE ji vloží za vás. VBE také mění barvu a velká písmena některých textů. Tyto změny jsou způsobem VBE, jak udržet věci čisté a čitelné.
Pokud jste postupovali podle předchozích kroků, právě jste vytvořili proceduru VBA Sub, známou také jako makro. Když stisknete F5, Excel spustí kód a bude postupovat podle pokynů. Jinými slovy, Excel vyhodnotí každý příkaz a udělá to, co jste mu řekli. Toto makro můžete spustit libovolněkrát – i když má tendenci ztrácet na přitažlivosti po několika desítkách spuštění.
Toto jednoduché makro používá následující koncepty:
-
Definování procedury Sub (první řádek)
-
Deklarování proměnných (příkazy Dim)
-
Přiřazení hodnot proměnným (Msg a Ans)
-
Zřetězení (spojení) řetězce (pomocí operátoru &)
-
Použití vestavěné funkce VBA (MsgBox)
-
Použití vestavěných konstant VBA (vbYesNo, vbNo a vbYes)
-
Použití konstrukce If-Then (dvakrát)
-
Ukončení procedury Sub (poslední řádek)
Jak již bylo zmíněno, kód můžete zkopírovat a vložit do modulu VBA. Například procedura Sub nebo Function, kterou napíšete pro jeden projekt, může být užitečná i v jiném projektu. Místo toho, abyste ztráceli čas opětovným zadáváním kódu, můžete modul aktivovat a použít běžné postupy kopírování a vkládání (Ctrl+C pro kopírování a Ctrl+V pro vkládání). Po vložení kódu do modulu VBA můžete kód podle potřeby upravit.