Někdy je nejlepší cestou pro zadání kódu pro Excel 2016 ta nejpřímější. Přímé zadání kódu VBA zahrnuje... tedy přímé zadání kódu. Jinými slovy, zadáváte kód pomocí klávesnice. 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.
Pomocí klávesy Tab odsaďte některé řádky, aby byl kód snáze čitelný. Odsazení není nutné, ale je dobrým zvykem si ho pořídit.
Jeden řádek kódu VBA může být tak dlouhý, jak potřebujete. Můžete však chtít použít znaky 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 druhý, ukončete první řádek mezerou následovanou podtržítkem (_). Poté pokračujte ve výroku na dalším řádku. A nezapomeňte na prostor. Znak podtržítka, kterému nepředchází mezera, nebude fungovat.
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 úplně stejně, pokud by byl zadán na jednom řádku (bez znaků pro pokračování řádku). Všimněte si, že druhý a třetí řádek tohoto prohlášení jsou odsazeny. Odsazení je volitelné, ale pomáhá objasnit skutečnost, že tyto řádky nejsou samostatnými příkazy.
Inženýři v bílém plášti, kteří navrhli VBE, předpokládali, že lidé budou dělat chyby. Proto má VBE více úrovní zpět a znovu. Pokud jste odstranili příkaz, který byste neměli mít, klikněte na 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 nějaký reálný kód? Zkuste následující kroky:
Vytvořte nový sešit v aplikaci Excel.
Stisknutím Alt+F11 aktivujte VBE.
Klepněte na název nového sešitu v okně Projekt.
Zvolte Vložit → Modul pro vložení modulu VBA do projektu.
Do modulu zadejte následující kód:
Sub GuessName()
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 psychická!"
End Sub
Umístěte kurzor kamkoli do textu, který jste napsali, a stisknutím klávesy F5 spusťte postup.
F5 je zkratka pro příkaz Spustit → Spustit Sub/UserForm. Pokud jste kód zadali správně, Excel provede proceduru a vy můžete reagovat na jednoduché dialogové okno. Pamatujte, že text v dialogovém okně se bude lišit.
Toto dialogové okno zobrazí procedura GuessName.
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 mezeru vloží za vás. VBE také změní barvu a velká písmena některého textu. To vše je naprosto normální. Je to jen způsob VBE, jak udržet věci čisté a čitelné.
Pokud jste postupovali podle předchozích kroků, právě jste napsali 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. (Nenechte si tuto nově objevenou sílu stoupnout do hlavy.) Toto makro můžete spustit libovolně mnohokrát – i když má tendenci ztrácet svou přitažlivost po několika desítkách pokusů.
Pro záznam, toto jednoduché makro používá následující koncepty:
-
Definování procedury Sub (první řádek)
-
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)
Na začátečníka to není špatné, co?