Hur man skapar ett VBA-makro eller skript i Excel

Microsoft Excel gör det möjligt för användare att automatisera funktioner och kommandon med hjälp av makron och Visual Basic for Applications ( VBA )-skript. VBA är det programmeringsspråk som Excel(VBA is the programming language Excel) använder för att skapa makron. Den kommer också att köra automatiserade kommandon baserat på specifika förhållanden.

Makron är en serie förinspelade kommandon. De körs automatiskt när ett specifikt kommando ges. Om du har uppgifter i Microsoft Excel som du gör upprepade gånger, som redovisning, projektledning eller lönehantering, kan automatisering av dessa processer spara mycket tid.

Under fliken Utvecklare(Developer)menyfliksområdet(Ribbon) i Excel kan användare spela in musklick och tangenttryckningar (makron). Vissa funktioner kräver dock mer djupgående skript än makron kan ge. Det är här VBA- skript blir en stor fördel. Det tillåter användare att skapa mer komplexa skript.

I den här artikeln kommer vi att förklara följande:

  • Aktivera skript och makron
  • Hur man skapar ett makro i Excel
  • Specifikt exempel på ett makro
  • Lär dig mer om VBA
  • Skapa en knapp(Button) för att komma igång med VBA
  • Lägg till kod(Add Code) för att ge knappen funktionalitet(Button Functionality)
  • Fungerade det?

Aktivera skript och makron(Enabling Scripts & Macros)

Innan du kan skapa makron eller VBA- skript i Excel måste du aktivera fliken Utvecklare(Developer )menyfliksområdet(Ribbon) . Fliken Utvecklare(Developer) är inte aktiverad som standard. Så här aktiverar du det:

  • Öppna ett Excel-kalkylblad.
  • Klicka på Arkiv(File ) > Alternativ( Options ) > Anpassa menyfliksområdet.( Customize Ribbon.)

  • Sätt en bock i rutan bredvid Utvecklare(Developer) .

  • Klicka på fliken Utvecklare(Developer) från menyfliksområdet(Ribbon) .

  • Klicka sedan på Makrosäkerhet(Macro Security) och markera rutan bredvid Aktivera alla makron (rekommenderas inte; potentiellt farlig kod kan köras). (Enable all macros (not recommended; potentially dangerous code can run). )
  • Klicka sedan på OK.

Anledningen till att makron inte är aktiverade som standard och kommer med en varning är att de är datorkod som kan innehålla skadlig programvara.

Se(Make) till att dokumentet kommer från en pålitlig källa om du arbetar med ett delat projekt i Excel och andra Microsoft- program.

När du är klar med att använda dina skript och makron, inaktivera alla makron för att förhindra att potentiellt skadlig kod infekterar andra dokument.

Skapa ett makro i Excel(Create a Macro in Excel)

Alla åtgärder du gör i Excel när du spelar in ett makro läggs till i det. 

  • På fliken Utvecklare klickar du på Spela in makro(Record Macro) .

  • Ange ett makronamn(Macro name) , en genvägsknapp(Shortcut key) och en beskrivning. (Description. )Makronamn(Macro) måste börja med en bokstav och får inte ha några mellanslag. Kortkommandot måste vara en bokstav.

Bestäm var du vill lagra makrot från följande alternativ:

  • Personal Macro Workbook : Detta skapar ett dolt Excel- dokument med lagrade makron som ska användas med alla Excel- dokument.
  • Ny arbetsbok(New Workbook) : Skapar ett nytt Excel- dokument för att lagra de skapade makron.
  • Den här arbetsboken(This Workbook) : Detta kommer endast att tillämpas på det dokument du för närvarande redigerar.

Klicka på OK när du är klar . 

  • (Run) igenom de åtgärder du vill automatisera. När du är klar klickar du på Stoppa inspelning(Stop Recording)
  • När du vill komma åt ditt makro använder du kortkommandot du gav det.

Specifikt exempel på ett makro(Specific Example Of a Macro)

Låt oss börja med ett enkelt kalkylblad för kunderna och hur mycket de är skyldiga. Vi börjar med att skapa ett makro för att formatera kalkylbladet.

Låt oss anta att du bestämmer dig för att alla kalkylblad ska använda ett annat format som att sätta för- och efternamn i separata kolumner. 

Du kan ändra detta manuellt. Eller så kan du skapa ett program med hjälp av ett makro för att automatiskt formatera det korrekt åt dig.

Spela in makrot(Record The Macro)

  • Klicka på Spela in makro(Record Macro) . Låt oss kalla det Format_Customer_Data och klicka på OK
  • För att få den formatering vi vill ha kommer vi att ändra den första kolumnens namn till First Name
  • Infoga sedan en kolumn bredvid A och kalla den Efternamn(Last Name)
  • Markera(Highlight) alla namn i den första kolumnen (som fortfarande innehåller för- och efternamn) och klicka på Data från menyfliksområdet.
  • Klicka på Text till kolumner(Text to Columns) .

  • Markera Avgränsad(Delimited) > Nästa(Next ) > Separera med mellanslag(Separate by Space) > Nästa(Next ) > Slutför(Finish) . Se skärmdump nedan och hur för- och efternamnen separerades genom processen ovan.

  • Markera beloppen för att formatera fältet Förfallna saldo . (Balance Due)Klicka(Click)Hem(Home ) > Villkorlig formatering(Conditional Formatting) > Markera cellregler(Highlight Cell Rules) > Större än(Greater Than ) > 0 .

Detta kommer att markera de celler som har ett saldo som ska betalas. Vi lade till några kunder utan saldo för att ytterligare illustrera formateringen.  

  • Gå tillbaka till Utvecklare(Developer ) och klicka på Stoppa inspelning(Stop Recording) .

Använd makrot(Apply The Macro)

Låt oss börja med det ursprungliga kalkylarket innan vi spelade in makrot för att formatera det korrekt. Klicka(Click)Makron(Macros) , välj och kör(Run) makrot du just skapade.

När du kör ett makro görs all formatering åt dig. Det här makrot vi just skapat lagras i Visual Basic Editor .

Användare kan köra makron på flera olika sätt. Läs Kör ett makro(Run a macro) för mer information.  

Lär dig mer om VBA(Learn More About VBA)

För att lära dig mer om VBA, klicka på Makro(Macro) från fliken Utvecklare . (Developer)Hitta en du har skapat och klicka på Redigera.(Edit.)

Koden du ser i rutan ovan är den som skapades när du spelade in ditt makro. 

Det är också vad du kommer att köra när du vill formatera andra kundbetalningskalkylblad på samma sätt.

Skapa en knapp för att komma igång med VBA(Create a Button To Get Started With VBA)

Genom att använda samma kalkylblad ovan med kunder och hur mycket de är skyldiga, låt oss skapa en valutaomvandlare.

  • För att infoga ett knappelement, navigera till fliken  Utvecklare .(Developer )
  • Välj ActiveX Command Button från rullgardinsmenyn bredvid Infoga(Insert) i avsnittet Kontroller (Controls).

  • Dra(Drag) knappen var som helst på kalkylarket så att du enkelt kan komma åt det och ändra det senare om du vill.

  • För att bifoga koden, högerklicka på knappen och välj Egenskaper(Properties) . Vi kommer att behålla namnet(Name) som kommandoknapp(CommandButton) och bildtexten(Caption ) att konvertera( Convert ) (detta är knapptexten).

Lägg till kod för att ge knappen funktionalitet(Add Code To Give The Button Functionality)

VBA- kodning sker inte i Excel -gränssnittet. Det görs i en separat miljö.  

  • Gå till fliken Utvecklare(Developer) och se till att Design Mode är aktivt.

  • För att komma åt koden för knappen vi just skapade, högerklicka på den och välj Visa kod(View Code) .

  • Titta på koden i skärmdumpen nedan och lägg märke till att början ( Privat Sub(Private Sub) ) och slutet ( End Sub ) av koden redan finns där.

  • Koden nedan kommer att driva valutaomvandlingsproceduren.

ActiveCell.Value = (ActiveCell * 1.28)

Vårt syfte i det här avsnittet är att konvertera valutan i vårt kalkylblad. Skriptet ovan återspeglar växelkursen från GBP till USD . Det nya värdet på en cell blir det som för närvarande finns där multiplicerat med 1,28.

Skärmdumpen nedan visar hur koden ser ut i VBA- fönstret efter att du har infogat den.

  • Gå till Arkiv(File ) i toppnavigeringen och klicka på Stäng och Gå tillbaka till Microsoft Excel(click on Close and Return to Microsoft Excel) för att återgå till Excel -huvudgränssnittet.

Fungerade det?(Did It Work?)

Innan du kan testa din kod måste du först inaktivera Design Mode (klicka på den) för att undvika ytterligare ändringar och ge knappen funktionalitet.

  • Skriv(Type) valfritt nummer i ditt kalkylblad och klicka sedan på knappen Konvertera . (Convert)Om värdet på ditt nummer ökar med ungefär en fjärdedel fungerade det.

För det här exemplet lägger jag siffran 4 i en cell. Efter att ha klickat på Konvertera(Convert) ändrades numret till 5.12. Eftersom 4 gånger 1.28 är 5.12 utfördes koden korrekt.

Nu när du förstår hur du skapar ett makro eller skript i Excel kan du använda dem för att automatisera en mängd åtgärder i Excel .



About the author

"Jag är en frilansande Windows- och Office-expert. Jag har över 10 års erfarenhet av att arbeta med dessa verktyg och kan hjälpa dig att få ut det mesta av dem. Mina färdigheter inkluderar: arbeta med Microsoft Word, Excel, PowerPoint och Outlook; skapa webben sidor och applikationer; och hjälpa kunder att nå sina affärsmål."



Related posts