Video: Refresh Pivot Table Automatically when Source Data Changes 2024
En af måder, hvorpå du kan få VBA-kode til et VBA-modul, er at bruge Excel-makrooptageren til at optage dine handlinger og konvertere dem til VBA kode. Men ikke alle opgaver 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 det 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å længe du vil. Du kan dog bruge linjen line-continuation til at opdele lange linjer med kode. For at fortsætte en enkelt kode kode (også kendt som en erklæring ) fra en linje til den næste, skal du afslutte den første linje med et mellemrum og en underskrift (_). Fortsæt derefter sætningen på næste linje. Her er et eksempel på en enkelt erklæring opdelt i tre linjer:
Valg. Sorter Nøgle1: = Område ("A1"), _ Order1: = xlAscending, Overskrift: = xlGuess, _ Orientering: = xlTopToBottom
Denne sætning ville udføre den samme måde, hvis den blev indtastet i en enkelt linje (uden line- fortsættelsestegn).
VBE har flere niveauer for at fortryde og omdanne. Hvis du har slettet en erklæring, som du ikke skal have, skal du bruge knappen Fortryd på værktøjslinjen (eller tryk på Ctrl + Z), indtil sætningen vises igen. Når du har slettet, kan du bruge knappen Redo til at udføre de ændringer, du har fortrydt.
Klar til at indtaste nogle rigtige 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 arbejdsbogs navn i projektvinduet.
-
Vælg Indsæt → Modul for at indsætte et VBA-modul i projektet.
-
Indtast følgende kode i modulet:
Sub GuessName () Dim Msg som String Dim Ans As Long Msg = "Er dit navn" & Application. Brugernavn & "?" Ans = MsgBox (Msg, vbYesNo) Hvis Ans = vbNo Så MsgBox "Oh, never mind." Hvis Ans = vbYes Så MsgBox "Jeg må være clairvoyant!" Afslut under
-
Kontroller, at markøren er placeret hvor som helst i teksten, du skrev, 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, kan du bemærke, at VBE foretager nogle tilpasninger af den tekst, du indtaster. Når du f.eks. Skriver Sub-sætningen, indsætter VBE automatisk slutningsopgørelsen. Og hvis du udelader pladsen før eller efter et lighedstegn, indsætter VBE pladsen for dig. VBE ændrer også farven og aktiveringen af nogle tekst. Disse ændringer er VBEs måde at holde tingene pæne og læsbare på.
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 sætning og gør hvad du fortalte det at gøre. Du kan udføre denne makro et vilkårligt antal gange - selv om det har tendens til at miste sin appel efter et par dusin henrettelser.
Denne enkle makro bruger følgende begreber:
-
Definerer en subprocedure (første linie)
-
Deklarer variabler (Dim-sætningerne)
-
Tildel værdier til variabler (Msg og Ans)
-
Sammenkædning
-
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 subprocedure (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 til et projekt, også være nyttigt i et andet projekt. I stedet for at spilde tid på at genindtaste koden, kan du aktivere modulet og bruge de normale kopierings- og indsættelsesprocedurer (Ctrl + C til kopiering og Ctrl + V til at indsætte). Når du har indsat koden i et VBA-modul, kan du ændre koden efter behov.