VBA-skolen 2 – Dit første VBA program
Lær de helt basale kodeting i VBA i dette begynderkursus til VBA. I dette afsnit lærer du hvordan du indsætter en knap i Excel, der aktiverer VBA-kode.
I sidste afsnit af denne Begynder VBA tutorial, så vi på hvad VBA er, hvordan du indspiller makroer, hvordan du ser koden bag og hvordan du finder editoren hvor du skal skrive din VBA kode i. Nu hvor du er blevet introduceret til dette programmeringssprog, der kan opkvalificere dine excelfiler, skal vi kigge lidt mere grundlæggende på programmeringssproget.
Eksemplerne her er udarbejdet i Excel til Mac, men et er præcis samme princip ved Excel til Windows. Spørg endelig i en kommentar, hvis du har problemer med at finde noget. Udgangspunktet er, at du skal vide hvordan du indspiller en makro. Du skal vide hvordan du åbner VBA editoren. Og du skal vide hvordan du får “Udvikler”-fanen frem i Excel. Hvis du er i tvivl om dette, så kig i afsnit 1 i denne guide.
Så går vi igang
Lad os lige kigge nærmere på, hvordan VBA kode er opbygget. Når du skal opbygge en VBA kode, skal den være inden for en kodeblok, der starter med noget og slutter med noget. Som standard skal der stå “Public Sub” ved begyndelsen af blokken, og “End sub” når blokken slutter. Vi kommer senere ind på alternativer, men først lige et eksempel.
Åbn din VBA editor og find den del der hedder “Module 1”. Hvis du ikke har den i VBA editoren som standard kan du oprette den ved at højreklikke og vælge “Insert” og så “Module”. Det er i disse moduler du kan proppe alt mulig kode ind i, som for eksempel kan aktiveres ved en makro.
Så indsætter du følgende kodestump i det modul du lige har oprettet.
Public Sub Test() ' Her er en kommentar MsgBox "Hello world" End Sub
Og du går så tilbage til Excelarket og hen på Udvikler-fanen. Fra udvikler-fanen kan du indsætte en knap i selve Exceldokumentet. Så snart knappen er indsat, vil Excel spørge dig hvilken kodestump den skal pege på, og her henviser den netop til de kodestumper du har indsat i moduler.
Du kan herefter også rette teksten på knappen. Men basalt set har du lige lavet en knap, der når du trykker på den aktiverer den kodestump, du har indsat i modulet. Når du trykker på knappen kommer der en dialogboks frem der siger “Hello world”.
Opbygningen af koden
Lad os lige kigge nærmere på hele koden. For det første ser du at kodeblokken du indsatte i modulet begyndte med Public Sub og sluttede med End Sub. Test er navnet på den kodestump og der skal herefter være parentes bagefter. Det kommer vi ind på senere, men i disse parenteser kan du indsætte parametre for din kode.
Public Sub Test() End Sub
Public betyder, at koden også kan henvises til uden for modulet. Det kan for eksempel være fra en formular eller lign. Du kan også vælge Private, hvis det ikke skal være tilgængelig uden for modulet.
Det næste du skrev var:
' Her er en kommentar
Når noget begynder med ‘ er det en kommentar. Det betyder, at alt der står på den linje bagefter springer Excel over, når den kører koden. Her kan du altså skrive kommentarer der gør det let for dig at finde rundt i koden. Du kan for eksempel skrive hvad koden bagefter koder for.
Til slut skrev du:
MsgBox “Hello world”
MsgBox er koden for at der skal vises en dialogboks. Det der skal stå i dialogboksen skal du skrive bagefter. I dette tilfælde skal det bare være en tekststreng, og for at markere at det er en tekststreng skal du skrive det inden for to “.
Du har altså i dette tilfælde lavet dit første VBA program. Vi vil i de kommende afsnit se nærmere på, hvad du mere kan lave i VBA, men her har du et eksempel der viser hvordan du kommer igang. I næste afsnit skal vi se lidt mere på hvad variabler og konstanter er.