Nakon što steknete vještinu rada s VBA jezikom, možete ispočetka pisati nove makronaredbe u uređivaču Visual Basic umjesto da samo uređujete one koje ste prethodno zabilježili u proračunskoj tablici pomoću Excelovog snimača makronaredbi. Kada kreirate makronaredbu od nule u uređivaču Visual Basic, morate slijediti ove općenite korake:
Kliknite naziv VBA projekta u prozoru Project Explorera u koji želite dodati novu makronaredbu.
Ako želite napisati makronaredbu samo za trenutnu radnu knjigu, kliknite funkciju VBAProject koja sadrži naziv datoteke u zagradama, kao u VBAProject (Moja proračunska tablica). Ako želite napisati globalnu makronaredbu u radnu knjigu osobnih makroa, kliknite VBAProject(PERSONAL.XLSB) u prozoru Project Explorer.
Odaberite Insert→Module na traci izbornika Visual Basic Editora.
Excel reagira otvaranjem novog, praznog prozora koda u prozoru Visual Basic Editora i dodavanjem druge ikone modula (nazvanog sljedećim dostupnim brojem) u obris u prozoru Project Explorer ispod odgovarajućeg VBA projekta.
Zatim započinjete svoju makronaredbu stvaranjem potprograma (sve makronaredbe, čak i one koje snimite u proračunsku tablicu, zapravo su potprogrami Visual Basica). Da biste to učinili, samo upišite sub (za potprogram).
Upišite sub, a zatim pritisnite razmaknicu.
Sada morate imenovati svoju novu makronaredbu, što činite imenovanjem svog potprograma. Zapamtite da pri imenovanju nove makronaredbe (ili potprograma) slijedite ista pravila kao kod imenovanja naziva raspona (počinje slovom i bez razmaka).
Upišite naziv svoje makronaredbe, a zatim pritisnite tipku Enter.
Čim pritisnete tipku Enter, Visual Basic Editor umeće zatvoreni par zagrada iza imena makronaredbe, prazan redak i naredbu End Sub u vlastiti redak ispod toga. Zatim postavlja točku umetanja na početak praznog retka između redaka s naredbama Sub i End Sub. Ovdje unosite retke koda za makro koji pišete.
Unesite retke VBA koda za makronaredbu između naredbi Sub i End Sub.
Prije nego počnete pisati VBA naredbe koje vaša makronaredba treba izvršiti, prvo biste trebali dokumentirati svrhu i funkcioniranje ove makronaredbe. Da biste to učinili, upišite apostrof ( ' ) na početku svakog retka ovog teksta kako biste ga unijeli kao komentar. (Excel zna da ne pokušava izvršiti bilo koji redak koda koji ima predgovor s apostrofom.)
Kada pritisnete tipku Enter da započnete novi redak koji počinje apostrofom, redak teksta postaje zelen, što znači da Visual Basic Editor smatra da je to komentar koji se ne smije izvršiti kada se makronaredba pokrene.
Nakon što svojim komentarima dokumentirate svrhu makronaredbe, počinjete unositi naredbe koje želite da makronaredba izvrši (koje ne smiju biti pred apostrofom). Da biste uvukli retke koda radi lakšeg čitanja, pritisnite Tab. Ako trebate odmaknuti liniju, pritisnite Shift+Tab. Kada završite s pisanjem koda za makronaredbu, morate ga spremiti prije nego što ga testirate.
Odaberite Datoteka→Spremi na traci izbornika Visual Basic Editora ili pritisnite Ctrl+S.
Nakon što spremite novu makronaredbu, možete kliknuti gumb Prikaži Microsoft Excel na standardnoj alatnoj traci da biste se vratili na radni list gdje ga možete isprobati. Da biste pokrenuli novu makronaredbu koju ste napisali, odaberite Prikaz→Makronaredbe na vrpci ili pritisnite Alt+F8 da otvorite dijaloški okvir Makronaredbe, a zatim kliknite naziv makronaredbe koju ste upravo napisali prije nego što kliknete U redu.
Ako Excel naiđe na pogrešku prilikom pokretanja makronaredbe, vraća vas u Visual Basic Editor i pojavljuje se dijaloški okvir Upozorenje Microsoft Visual Basic koji ukazuje (u vrlo zagonetnom obliku) prirodu pogreške. Kliknite gumb Debug u ovom dijaloškom okviru da bi Visual Basic Editor istaknuo redak koda koji ne može izvršiti.
Zatim možete pokušati pronaći pogrešku i urediti je u retku koda. Ako eliminirate uzrok pogreške, Visual Basic Editor uklanja označavanje iz tog retka koda, a zatim možete kliknuti gumb Nastavi (koji automatski zamjenjuje gumb Pokreni kada uređivač prijeđe u način za otklanjanje pogrešaka) s plavim trokutom pokazujući udesno na standardnoj alatnoj traci za nastavak pokretanja makronaredbe.