En af måderne, hvorpå du kan få VBA-kode ind i et VBA-modul, er at bruge Excel-makrooptageren til at registrere dine handlinger og konvertere dem til VBA-kode. Det er dog ikke alle opgaver, der kan oversættes til VBA ved at optage en makro. Du kan også indtaste koden direkte eller kopiere koden fra et modul og indsætte den i et andet.
Indtastning og redigering af tekst i et VBA-modul fungerer, som du kunne forvente. Du kan vælge, kopiere, klippe, indsætte og gøre andre ting til teksten.
En enkelt linje med VBA-kode kan være så lang, som du vil. Det kan dog være en god idé at bruge linjefortsættelsestegnet til at opdele lange kodelinjer. For at fortsætte en enkelt kodelinje (også kendt som en sætning ) fra en linje til den næste, skal du afslutte den første linje med et mellemrum efterfulgt af en understregning (_). Fortsæt derefter udsagnet på næste linje. Her er et eksempel på et enkelt udsagn opdelt i tre linjer:
Selection.Sort Key1:=Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
Orientering:=xlTopToBottom
Denne erklæring ville fungere på samme måde, hvis den blev indtastet på en enkelt linje (uden linjefortsættelsestegn).
VBE har flere niveauer af fortryd og fortryd. Hvis du har slettet et udsagn, som du ikke burde have, skal du bruge knappen Fortryd på værktøjslinjen (eller trykke på Ctrl+Z), indtil udsagnet vises igen. Når du har fortrydet, kan du bruge Gentag-knappen til at udføre de ændringer, du har fortrydet.
Klar til at indtaste en ægte, live kode? Prøv følgende trin:
Opret en ny projektmappe i Excel.
Tryk på Alt+F11 for at aktivere VBE.
Klik på den nye projektmappes navn i projektvinduet.
Vælg Indsæt→Modul for at indsætte et VBA-modul i projektet.
Indtast følgende kode i modulet:
Sub Gætnavn()
Dæmp besked som streng
Dim Ans As Long
Msg = "Er dit navn " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
Hvis Ans = vbNo Så MsgBox "Åh, ligeglad."
Hvis Ans = vbYes Så MsgBox "Jeg må være clairvoyant!"
Slut Sub
Sørg for, at markøren er placeret et hvilket som helst sted i den tekst, du har skrevet, og tryk derefter på F5 for at udføre proceduren.
F5 er en genvej til kommandoen Kør → Kør Sub/UserForm.
Når du indtaster koden, der er angivet i trin 5, vil du måske bemærke, at VBE foretager nogle justeringer af den tekst, du indtaster. For eksempel, efter at du har indtastet undersætningen, indsætter VBE automatisk undersætningen End. Og udelader du mellemrummet før eller efter et lighedstegn, indsætter VBE mellemrummet for dig. VBE ændrer også farven og store bogstaver på noget tekst. Disse ændringer er VBEs måde at holde tingene pæne og læsbare.
Hvis du fulgte de foregående trin, har du lige oprettet en VBA Sub-procedure, også kendt som en makro. Når du trykker på F5, udfører Excel koden og følger instruktionerne. Med andre ord evaluerer Excel hver erklæring og gør, hvad du har bedt den om. Du kan udføre denne makro et vilkårligt antal gange - selvom den har en tendens til at miste sin appel efter et par dusin henrettelser.
Denne simple makro bruger følgende begreber:
-
Definering af en underprocedure (den første linje)
-
Erklæring af variabler (Dim-udsagn)
-
Tildeling af værdier til variabler (Msg og Ans)
-
Sammenkædning (sammenføjning) af en streng (ved hjælp af &-operatoren)
-
Brug af en indbygget VBA-funktion (MsgBox)
-
Brug af indbyggede VBA-konstanter (vbYesNo, vbNo og vbYes)
-
Brug af en If-Then-konstruktion (to gange)
-
Afslutning af en underprocedure (sidste linje)
Som nævnt kan du kopiere og indsætte kode i et VBA-modul. For eksempel kan en under- eller funktionsprocedure, som du skriver for et projekt, også være nyttig i et andet projekt. I stedet for at spilde tid på at indtaste koden igen, kan du aktivere modulet og bruge de normale kopier-og-indsæt-procedurer (Ctrl+C for at kopiere og Ctrl+V for at indsætte). Efter at have indsat koden i et VBA-modul, kan du ændre koden efter behov.