Niekedy je najlepšou cestou na zadanie kódu pre Excel 2016 tá najpriamejšia. Priame zadanie kódu VBA zahŕňa ... teda priame zadanie kódu. Inými slovami, kód napíšete pomocou klávesnice. Zadávanie a úprava textu v module VBA funguje tak, ako by ste mohli očakávať. Text môžete vybrať, skopírovať, vystrihnúť, prilepiť a urobiť s ním ďalšie veci.
Pomocou klávesu Tab môžete odsadiť niektoré riadky, aby sa váš kód ľahšie čítal. Odsadzovanie nie je nutné, ale je dobrým zvykom si ho osvojiť.
Jeden riadok kódu VBA môže byť taký dlhý, ako potrebujete. Možno však budete chcieť použiť znaky na pokračovanie riadkov na rozdelenie dlhých riadkov kódu. Ak chcete pokračovať v jednom riadku kódu (známy aj ako príkaz) z jedného riadku na ďalší, ukončite prvý riadok medzerou, za ktorou nasleduje podčiarkovník (_). Potom pokračujte vo vyhlásení na ďalšom riadku. A nezabudnite na priestor. Znak podčiarknutia, pred ktorým nie je medzera, túto úlohu nesplní.
Tu je príklad jedného príkazu rozdeleného do troch riadkov:
Selection.Sort Key1:=Rozsah(“A1”), _
Poradie1:=xlVzostupne, Hlavička:=xlHádaj, _
Orientácia:=xlTopToBottom
Tento príkaz by fungoval presne rovnako, ak by bol zadaný v jednom riadku (bez znakov na pokračovanie riadku). Všimnite si, že druhý a tretí riadok tohto vyhlásenia sú odsadené. Odsadenie je voliteľné, ale pomáha objasniť skutočnosť, že tieto riadky nie sú samostatné príkazy.
Inžinieri v bielom plášti, ktorí navrhli VBE, počítali s tým, že ľudia budú robiť chyby. Preto má VBE viacero úrovní vrátenia a zopakovania. Ak ste odstránili výpis, ktorý ste nemali mať, kliknite na tlačidlo Späť na paneli nástrojov (alebo stlačte Ctrl+Z), kým sa príkaz znova nezobrazí. Po vrátení späť môžete použiť tlačidlo Znova na vykonanie zmien, ktoré ste vrátili.
Ste pripravení zadať skutočný kód? Skúste nasledujúce kroky:
Vytvorte nový zošit v Exceli.
Stlačením Alt+F11 aktivujte VBE.
Kliknite na názov nového zošita v okne Projekt.
Zvoľte Vložiť → Modul na vloženie modulu VBA do projektu.
Do modulu zadajte nasledujúci kód:
Sub GuessName()
Msg = "Je vaše meno " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
If Ans = vbNo Then MsgBox "Ach, nevadí."
If Ans = vbYes Then MsgBox "Musím byť psychická!"
End Sub
Umiestnite kurzor kdekoľvek v texte, ktorý ste napísali, a stlačením klávesu F5 vykonajte postup.
F5 je skratka pre príkaz Run → Run Sub/UserForm. Ak ste kód zadali správne, Excel vykoná procedúru a vy môžete reagovať na jednoduché dialógové okno. Pamätajte, že text v dialógovom okne bude iný.
Procedúra GuessName zobrazí toto dialógové okno.
Keď zadáte kód uvedený v kroku 5, môžete si všimnúť, že VBE vykoná určité úpravy zadávaného textu. Napríklad po zadaní príkazu Sub VBE automaticky vloží príkaz End Sub. A ak vynecháte medzeru pred alebo za znakom rovnosti, VBE vloží medzeru za vás. VBE tiež zmení farbu a kapitalizáciu niektorých textov. Toto všetko je úplne normálne. Je to len spôsob VBE, ako udržať veci čisté a čitateľné.
Ak ste postupovali podľa predchádzajúcich krokov, práve ste napísali procedúru VBA Sub, tiež známu ako makro. Keď stlačíte F5, Excel spustí kód a bude postupovať podľa pokynov. Inými slovami, Excel vyhodnotí každý výrok a urobí to, čo ste mu povedali. (Nedovoľte, aby vám táto novonájdená sila stúpla do hlavy.) Toto makro môžete spustiť ľubovoľný počet krát – hoci má tendenciu stratiť svoju príťažlivosť po niekoľkých desiatkach krát.
Pre záznam, toto jednoduché makro používa nasledujúce koncepty:
-
Definovanie procedúry Sub (prvý riadok)
-
Priradenie hodnôt premenným (Msg a Ans)
-
Reťazenie (spájanie) reťazca (pomocou operátora &)
-
Používanie vstavanej funkcie VBA (MsgBox)
-
Používanie vstavaných konštánt VBA (vbYesNo, vbNo a vbYes)
-
Použitie konštrukcie If-Then (dvakrát)
-
Ukončenie procedúry Sub (posledný riadok)
Nie je to zlé pre začiatočníka, však?