Ponekad je najbolji put za unos koda za Excel 2016 najizravniji. Izravan unos VBA koda uključuje... pa, izravan unos koda. Drugim riječima, kod upisujete pomoću tipkovnice. Unos i uređivanje teksta u VBA modulu funkcionira kako biste očekivali. Možete odabrati, kopirati, izrezati, zalijepiti i raditi druge stvari s tekstom.
Upotrijebite tipku Tab da biste uvukli neke od redaka kako biste svoj kod lakše čitali. Uvlačenje nije potrebno, ali je dobra navika za stjecanje.
Jedan redak VBA koda može biti dug onoliko koliko vam je potreban. Međutim, možda ćete htjeti upotrijebiti znakove za nastavak reda za razbijanje dugih redaka koda. Da biste nastavili jedan redak koda (također poznat kao izjava) s jednog retka na sljedeći, završite prvi redak s razmakom nakon kojeg slijedi donja crta (_). Zatim nastavite izjavu u sljedećem retku. I ne zaboravite na prostor. Znak podvlake kojemu ne prethodi razmak neće obaviti posao.
Evo primjera jedne izjave podijeljene u tri retka:
Selection.Sort Key1:=Raspon(“A1”), _
Redoslijed1:=xluzlazno, zaglavlje:=xlPogodi, _
Orijentacija:=xlTopToBottom
Ova bi izjava imala potpuno isti način da je upisana u jednom retku (bez znakova za nastavak reda). Primijetite da su drugi i treći redak ove izjave uvučeni. Uvlačenje nije obavezno, ali pomaže razjasniti činjenicu da ovi redovi nisu zasebni iskazi.
Inženjeri s bijelim premazom koji su dizajnirali VBE predviđali su da će ljudi griješiti. Stoga VBE ima više razina poništavanja i ponavljanja. Ako ste izbrisali izjavu koju niste trebali imati, kliknite gumb Poništi na alatnoj traci (ili pritisnite Ctrl+Z) dok se izjava ponovno ne pojavi. Nakon poništavanja, možete koristiti gumb Ponovi da izvršite promjene koje ste poništili.
Jeste li spremni unijeti neki stvarni kod? Pokušajte sljedeće korake:
Izradite novu radnu knjigu u Excelu.
Pritisnite Alt+F11 da aktivirate VBE.
Kliknite naziv nove radne knjige u prozoru Projekt.
Odaberite Umetanje → Modul za umetanje VBA modula u projekt.
Upišite sljedeći kod u modul:
Sub GuessName()
Poruka = "Je li vaše ime " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
Ako je Ans = vbNo Tada MsgBox "Oh, nema veze."
Ako je Ans = vbYes Onda MsgBox "Mora da sam vidovit!"
Kraj Sub
Postavite pokazivač bilo gdje unutar teksta koji ste upisali i pritisnite F5 da izvršite postupak.
F5 je prečac za naredbu Run → Run Sub/UserForm. Ako ste ispravno unijeli kod, Excel izvršava proceduru, a vi možete odgovoriti na jednostavan dijaloški okvir. Zapamtite, tekst u dijaloškom okviru bit će drugačiji.
Procedura GuessName prikazuje ovaj dijaloški okvir.
Kada unesete kod naveden u koraku 5, možda ćete primijetiti da VBE vrši neke prilagodbe u tekstu koji unesete. Na primjer, nakon što upišete Sub naredbu, VBE automatski umeće End Sub izraz. A ako izostavite razmak ispred ili iza znaka jednakosti, VBE ubacuje razmak umjesto vas. Također, VBE mijenja boju i velika slova nekog teksta. Ovo je sve sasvim normalno. To je samo VBE-ov način da stvari budu uredne i čitljive.
Ako ste slijedili prethodne korake, upravo ste napisali VBA Sub proceduru, također poznatu kao makronaredba. Kada pritisnete F5, Excel izvršava kod i slijedi upute. Drugim riječima, Excel procjenjuje svaku izjavu i čini ono što ste mu rekli. (Nemojte dopustiti da vam ova novootkrivena moć padne u glavu.) Ovu makronaredbu možete izvršiti bilo koji broj puta — iako ima tendenciju da izgubi svoju privlačnost nakon nekoliko desetaka puta.
Za zapisnik, ova jednostavna makronaredba koristi sljedeće koncepte:
-
Definiranje podprocedure (prvi redak)
-
Dodjela vrijednosti varijablama (Poruka i Ans)
-
Nadovezivanjem (ulaskom) niz (koristeći & operatera)
-
Korištenje ugrađene VBA funkcije (MsgBox)
-
Korištenje ugrađenih VBA konstanti (vbYesNo, vbNo i vbYes)
-
Korištenje konstrukcije If-Then (dvaput)
-
Završetak podprocedure (posljednji redak)
Nije loše za početnika, ha?