Når du har færdighederne i VBA-sproget, kan du skrive nye makroer fra bunden i Visual Basic Editor i stedet for blot at redigere dem, som du tidligere har optaget i dit regneark ved at bruge Excels makrooptager. Når du opretter en makro fra bunden i Visual Basic Editor, skal du følge disse generelle trin:
Klik på navnet på VBA-projektet i vinduet Project Explorer, hvor du vil tilføje den nye makro.
Hvis du vil skrive en makro kun for den aktuelle projektmappe, skal du klikke på funktionen VBAProject, der indeholder dets filnavn i parentes, som i VBAProject (Mit regneark). Hvis du vil skrive en global makro i Personal Macro Workbook, skal du klikke på VBAProject(PERSONAL.XLSB) i vinduet Project Explorer.
Vælg Indsæt → Modul på menulinjen i Visual Basic Editor.
Excel reagerer ved at åbne et nyt, tomt kodevindue i Visual Basic Editor-vinduet og ved at tilføje endnu et modulikon (navngivet med det næste tilgængelige nummer) i omridset i Project Explorer-vinduet under det relevante VBA-projekt.
Dernæst begynder du din makro med at oprette en underrutine (alle makroer, selv dem du optager i regnearket, er virkelig Visual Basic-underrutiner). For at gøre dette skal du bare skrive sub (for subrutine).
Skriv sub, og tryk derefter på mellemrumstasten.
Nu skal du navngive din nye makro, hvilket du gør ved at navngive din underrutine. Husk, at når du navngiver din nye makro (eller en underrutine), følger du de samme regler, som når du navngiver et områdenavn (begynd med et bogstav og ingen mellemrum).
Indtast navnet på din makro, og tryk derefter på Enter-tasten.
Så snart du trykker på Enter-tasten, indsætter Visual Basic Editor et lukket par parenteser efter makroens navn, en tom linje og en End Sub-sætning på sin egen linje under det. Den placerer derefter indsættelsespunktet i begyndelsen af den tomme linje mellem linjerne med Sub- og End Sub-sætningerne. Det er her, du indtaster kodelinjerne for den makro, du skriver.
Indtast linjerne med VBA-kode for makroen mellem Sub- og End Sub-sætningerne.
Før du begynder at skrive de VBA-sætninger, som din makro skal udføre, bør du først dokumentere formålet med og funktionen af denne makro. For at gøre dette skal du skrive en apostrof ( ' ) i begyndelsen af hver linje i denne tekst for at indtaste den som en kommentar. (Excel ved ikke at forsøge at udføre nogen linje kode, der er indledt med en apostrof.)
Når du trykker på Enter-tasten for at starte en ny linje, der begynder med en apostrof, bliver tekstlinjen grøn, hvilket indikerer, at Visual Basic Editor betragter det som en kommentar, der ikke skal udføres, når makroen kører.
Når du har dokumenteret formålet med makroen med dine kommentarer, begynder du at indtaste de udsagn, som du vil have makroen til at udføre (som ikke må indledes med apostrof). Tryk på Tab for at indrykke kodelinjer for at gøre dem nemmere at læse. Hvis du har brug for at rykke ud af linjen, skal du trykke på Shift+Tab. Når du er færdig med at skrive koden til din makro, skal du gemme den, før du tester den.
Vælg Filer → Gem på menulinjen i Visual Basic Editor, eller tryk på Ctrl+S.
Når du har gemt din nye makro, kan du klikke på knappen Vis Microsoft Excel på standardværktøjslinjen for at vende tilbage til dit regneark, hvor du kan prøve det. For at køre den nye makro, du har skrevet, skal du vælge Vis → Makroer på båndet eller trykke på Alt+F8 for at åbne makrodialogboksen og derefter klikke på navnet på den makro, du lige har skrevet, før du klikker på OK.
Hvis Excel støder på en fejl, når makroen køres, returnerer den dig til Visual Basic Editor, og der vises en advarselsdialogboks for Microsoft Visual Basic, der angiver (i meget kryptisk form) fejlens art. Klik på Debug-knappen i denne dialogboks for at få Visual Basic Editor til at fremhæve den kodelinje, som den ikke kan udføre.
Du kan derefter forsøge at finde fejlen og redigere den i kodelinjen. Hvis du fjerner årsagen til fejlen, fjerner Visual Basic Editor markeringen fra den kodelinje, og du kan derefter klikke på knappen Fortsæt (som automatisk erstatter knappen Kør, når editoren går i fejlretningstilstand) med den blå trekant peger til højre på standardværktøjslinjen for at fortsætte med at køre makroen.