Ett sätt som du kan få in VBA-kod i en VBA-modul är att använda Excel-makroinspelaren för att spela in dina handlingar och konvertera dem till VBA-kod. Alla uppgifter kan dock inte översättas till VBA genom att spela in ett makro. Du kan också ange koden direkt eller kopiera koden från en modul och klistra in den i en annan.
Att skriva in och redigera text i en VBA-modul fungerar som du kan förvänta dig. Du kan markera, kopiera, klippa ut, klistra in och göra andra saker i texten.
En enda rad med VBA-kod kan vara hur lång som helst. Men du kanske vill använda fortsättningstecknet för att bryta upp långa kodrader. Om du vill fortsätta en enskild kodrad (även känd som en sats ) från en rad till nästa, avslutar du den första raden med ett mellanslag följt av ett understreck (_). Fortsätt sedan uttalandet på nästa rad. Här är ett exempel på ett enskilt uttalande uppdelat i tre rader:
Selection.Sort Key1:=Range("A1"), _
Order1:=xlStigande, Header:=xlGuess, _
Orientering:=xlTopToBottom
Den här satsen skulle fungera på samma sätt om den skrevs in på en enda rad (utan fortsättningstecken).
VBE har flera nivåer av ångra och gör om. Om du raderade ett påstående som du inte borde ha, använd knappen Ångra i verktygsfältet (eller tryck på Ctrl+Z) tills påståendet visas igen. När du har ångrat kan du använda knappen Gör om för att utföra de ändringar du har ångrat.
Är du redo att ange en riktig, live-kod? Prova följande steg:
Skapa en ny arbetsbok i Excel.
Tryck på Alt+F11 för att aktivera VBE.
Klicka på den nya arbetsbokens namn i projektfönstret.
Välj Infoga→Modul för att infoga en VBA-modul i projektet.
Skriv in följande kod i modulen:
Sub GuessName()
Dim meddelande som sträng
Dim Ans As Long
Msg = "Är ditt namn " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
Om Ans = vbNo Då MsgBox "Åh, strunt samma."
Om Ans = vbYes Då MsgBox "Jag måste vara klärvoajant!"
Avsluta Sub
Se till att markören är placerad var som helst i texten du skrev och tryck sedan på F5 för att utföra proceduren.
F5 är en genväg för kommandot Kör → Kör Sub/UserForm.
När du anger koden som listas i steg 5 kanske du märker att VBE gör några justeringar av texten du anger. Till exempel, efter att du skrivit in Sub-satsen, infogar VBE automatiskt End Sub-satsen. Och om du utelämnar utrymmet före eller efter ett likhetstecken, infogar VBE utrymmet åt dig. VBE ändrar också färgen och versaler för viss text. Dessa ändringar är VBE:s sätt att hålla saker snyggt och läsbart.
Om du följde de föregående stegen skapade du precis en VBA Sub-procedur, även känd som ett makro. När du trycker på F5 exekverar Excel koden och följer instruktionerna. Med andra ord, Excel utvärderar varje påstående och gör vad du sa till det att göra. Du kan köra det här makrot hur många gånger som helst – även om det tenderar att förlora sin överklagande efter några dussin avrättningar.
Detta enkla makro använder följande begrepp:
-
Definiera en underprocedur (första raden)
-
Deklarera variabler (Dim-satserna)
-
Tilldela värden till variabler (Msg och Ans)
-
Sammanfoga (sammanfoga) en sträng (med operatorn &)
-
Använda en inbyggd VBA-funktion (MsgBox)
-
Använda inbyggda VBA-konstanter (vbYesNo, vbNo och vbYes)
-
Använda en If-Then-konstruktion (två gånger)
-
Avsluta en underordnad procedur (sista raden)
Som nämnts kan du kopiera och klistra in kod i en VBA-modul. Till exempel kan en under- eller funktionsprocedur som du skriver för ett projekt också vara användbar i ett annat projekt. Istället för att slösa tid på att skriva in koden igen kan du aktivera modulen och använda de vanliga kopiera-och-klistra procedurerna (Ctrl+C för att kopiera och Ctrl+V för att klistra in). Efter att ha klistrat in koden i en VBA-modul kan du ändra koden efter behov.