Jedan od načina na koji možete dobiti VBA kod u VBA modul je korištenje Excel makro snimača za snimanje vaših radnji i njihovo pretvaranje u VBA kod. Međutim, ne mogu se svi zadaci prevesti u VBA snimanjem makronaredbe. Također možete unijeti kod izravno ili kopirati kod iz jednog modula i zalijepiti ga u drugi.
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.
Jedan redak VBA koda može biti koliko god želite. Međutim, možda ćete htjeti upotrijebiti znak 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. Evo primjera jedne izjave podijeljene u tri retka:
Selection.Sort Key1:=Raspon("A1"), _
Redoslijed1:=xluzlazno, zaglavlje:=xlPogodi, _
Orijentacija:=xlTopToBottom
Ova bi se izjava izvela na isti način da je upisana u jednom retku (bez znakova za nastavak reda).
VBE ima više razina poništavanja i ponavljanja. Ako ste izbrisali izjavu koju niste trebali imati, upotrijebite 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 pravi, živi 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 projekta.
Odaberite Insert→Module za umetanje VBA modula u projekt.
Upišite sljedeći kod u modul:
Sub GuessName()
Priguši poruku kao niz
Dim Ans As Long
Msg = "Je li vaše ime " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
Ako je Ans = vbNo Tada MsgBox "Oh, nema veze."
Ako je Ans = vbYes Tada MsgBox "Moram biti vidovit!"
Kraj Sub
Provjerite nalazi li se kursor bilo gdje unutar teksta koji ste upisali, a zatim pritisnite F5 da izvršite postupak.
F5 je prečac za naredbu Run → Run Sub/UserForm.
Kada unesete kod naveden u koraku 5, mogli biste primijetiti da VBE vrši neke prilagodbe u tekstu koji unesete. Na primjer, nakon što upišete Sub izraz, 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. Ove promjene VBE-ov su način da stvari budu uredne i čitljive.
Ako ste slijedili prethodne korake, upravo ste stvorili 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. Ovu makronaredbu možete izvršiti bilo koji broj puta — iako obično gubi svoju privlačnost nakon nekoliko desetaka izvršenja.
Ova jednostavna makronaredba koristi sljedeće koncepte:
-
Definiranje podprocedure (prvi redak)
-
Deklariranje varijabli (izjave Dim)
-
Dodjela vrijednosti varijablama (Poruka i Ans)
-
Spajanje (spajanje) niza (pomoću & operatora)
-
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)
Kao što je spomenuto, možete kopirati i zalijepiti kod u VBA modul. Na primjer, procedura pod ili funkcija koju napišete za jedan projekt također može biti korisna u drugom projektu. Umjesto da gubite vrijeme na ponovni unos koda, možete aktivirati modul i koristiti uobičajene postupke kopiranja i lijepljenja (Ctrl+C za kopiranje i Ctrl+V za lijepljenje). Nakon što zalijepite kod u VBA modul, možete modificirati kod prema potrebi.