En av måtene du kan få VBA-kode inn i en VBA-modul på er å bruke Excel-makroopptakeren til å registrere handlingene dine og konvertere dem til VBA-kode. Imidlertid kan ikke alle oppgaver oversettes til VBA ved å ta opp en makro. Du kan også skrive inn koden direkte eller kopiere koden fra en modul og lime den inn i en annen.
Å legge inn og redigere tekst i en VBA-modul fungerer som du kanskje forventer. Du kan velge, kopiere, klippe ut, lime inn og gjøre andre ting med teksten.
En enkelt linje med VBA-kode kan være så lang du vil. Det kan imidlertid være lurt å bruke linjefortsettelsestegnet for å bryte opp lange linjer med kode. For å fortsette en enkelt linje med kode (også kjent som en setning ) fra en linje til den neste, avslutter du den første linjen med et mellomrom etterfulgt av en understreking (_). Fortsett deretter utsagnet på neste linje. Her er et eksempel på en enkelt setning delt inn i tre linjer:
Utvalg.Sorteringsnøkkel1:=Rekkevidde("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
Orientering:=xlTopToBottom
Denne setningen ville fungere på samme måte hvis den ble skrevet inn på en enkelt linje (uten linjefortsettelsestegn).
VBE har flere nivåer av angre og gjør om. Hvis du har slettet en setning du ikke burde ha, bruk Angre-knappen på verktøylinjen (eller trykk Ctrl+Z) til setningen vises igjen. Etter at du har angret, kan du bruke Gjenta-knappen for å utføre endringene du har angret.
Klar til å skrive inn en ekte, live-kode? Prøv følgende trinn:
Opprett en ny arbeidsbok i Excel.
Trykk Alt+F11 for å aktivere VBE.
Klikk på den nye arbeidsbokens navn i prosjektvinduet.
Velg Sett inn → Modul for å sette inn en VBA-modul i prosjektet.
Skriv inn følgende kode i modulen:
Sub GuessName()
Dim melding som streng
Dim Ans As Long
Msg = "Er navnet ditt " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
Hvis Ans = vbNei Da MsgBox "Å, bry deg ikke."
Hvis Ans = vbYes Da MsgBox "Jeg må være klarsynt!"
End Sub
Sørg for at markøren er plassert hvor som helst i teksten du skrev, og trykk deretter F5 for å utføre prosedyren.
F5 er en snarvei for Kjør → Kjør Sub/UserForm-kommandoen.
Når du skriver inn koden som er oppført i trinn 5, vil du kanskje legge merke til at VBE gjør noen justeringer i teksten du skriver inn. For eksempel, etter at du har skrevet undersetningen, setter VBE automatisk inn End Sub-setningen. Og hvis du utelater mellomrommet før eller etter et likhetstegn, setter VBE inn mellomrommet for deg. VBE endrer også fargen og bruken av store og små bokstaver på tekst. Disse endringene er VBEs måte å holde ting ryddig og lesbart.
Hvis du fulgte de foregående trinnene, opprettet du nettopp en VBA Sub-prosedyre, også kjent som en makro. Når du trykker F5, kjører Excel koden og følger instruksjonene. Med andre ord, Excel evaluerer hver påstand og gjør det du har bedt den om å gjøre. Du kan kjøre denne makroen et hvilket som helst antall ganger - selv om den har en tendens til å miste appellen etter noen dusin henrettelser.
Denne enkle makroen bruker følgende konsepter:
-
Definere en underprosedyre (den første linjen)
-
Erklære variabler (Dim-setningene)
-
Tilordne verdier til variabler (Msg og Ans)
-
Sammenknytte (føye sammen) en streng (ved hjelp av &-operatoren)
-
Bruke en innebygd VBA-funksjon (MsgBox)
-
Bruke innebygde VBA-konstanter (vbYesNo, vbNo og vbYes)
-
Bruke en If-Then-konstruksjon (to ganger)
-
Avslutte en underprosedyre (siste linjen)
Som nevnt kan du kopiere og lime inn kode i en VBA-modul. For eksempel kan en under- eller funksjonsprosedyre som du skriver for ett prosjekt også være nyttig i et annet prosjekt. I stedet for å kaste bort tid på å legge inn koden på nytt, kan du aktivere modulen og bruke de vanlige kopier-og-lim-prosedyrene (Ctrl+C for å kopiere og Ctrl+V for å lime inn). Etter å ha limt inn koden i en VBA-modul, kan du endre koden etter behov.