Köra ett makro

Viktigt!: Den här artikeln är maskinöversatt, se ansvarsfriskrivningen. Den engelska versionen av den här artikeln finns här för din referens.

Det finns flera sätt att köra ett makro i Microsoft Excel. Ett makro är en åtgärd eller uppsättning med åtgärder som du kan använda för att automatisera uppgifter. Makron spelas in i Visual Basic for Applications programmeringsspråket. Du kan alltid köra ett makro genom att klicka på makron i menyfliksområdet. Beroende på hur tilldelat ett makro ska köras måste kanske du också köra den genom att trycka på en CTRL kombination kortkommando, genom att klicka på en knapp i verktygsfältet Snabbåtkomst eller i en egen grupp i menyfliksområdet. eller genom att klicka på ett område på ett objekt, en grafik eller en kontroll. Dessutom kan du köra ett makro automatiskt när du öppnar en arbetsbok.

Obs!: När du ställer in säkerhetsnivån för makron i Excel för att Inaktivera alla makron utan meddelande körs Excel endast makron som är digitalt signerade eller lagras på en betrodd plats, till exempel startmappen för Excel på datorn. Om det makro som du vill köra är inte digitalt signerade eller finns i en betrodd plats, kan du tillfälligt ändra säkerhetsnivån som gör att alla makron.

Innan du kör makron

Du behöver ändra några inställningar i Excel innan du kan köra makron:

  1. Visa fliken utvecklare inte är tillgängliga. Mer information finns i Visa fliken Utvecklare.

  2. Om du tillfälligt vill ändra säkerhetsnivån så att alla makron tillåts gör du följande:

    1. Klicka på Makrosäkerhet i gruppen Kod på fliken Utvecklare.

      Fliken Utvecklare i menyfliksområdet
    2. Klicka på Aktivera alla makron (rekommenderas inte, kod som kan vara skadlig kan köras) under Makroinställningar i kategorin Makroinställningar och klicka sedan på OK.

      Obs!: Du kan minska risken för att skadlig kod körs på datorn genom att återställa inställningarna som inaktiverar samtliga makron när du har arbetat klart med makrona.

  1. Öppna arbetsboken som innehåller makrot.

  2. Klicka på Makron i gruppen Kod på fliken Utvecklare.

    Fliken Utvecklare i menyfliksområdet
  3. Klicka på det makro som du vill köra i rutan Makronamn.

  4. Gör något av följande:

    • Du kan också trycka på CTRL + F8 för att köra makrot. Tryck på ESC om du vill stoppa makrot.

    • Om du vill köra ett makro från en Microsoft Visual Basic for Applications (VBA) modul klickar du på Redigera och klicka på Kör Sub/UserFormKör-menyn eller tryck på F5.

  1. Klicka på Makron i gruppen Kod på fliken Utvecklare.

    Fliken Utvecklare i menyfliksområdet
  2. Klicka på det makro i rutan Makronamn som du vill skapa ett kortkommando för (en Ctrl-tangentkombination).

  3. Klicka på Alternativ.

    Dialogrutan Makroalternativ öppnas.

  4. Skriv en bokstav (gemen eller versal) som du vill använda tillsammans med Ctrl-tangenten i rutan Kortkommando.

    Obs!: Kortkommandot åsidosätter motsvarande standardkortkommandon i Excel när arbetsboken som innehåller makrot är öppen.

    En lista med Ctrl-kortkommandon som redan har tilldelats i Excel finns i artikeln kortkommandon och funktionstangenter i Excel.

  5. Ange en beskrivning av makrot i rutan Beskrivning.

  6. Klicka på OK för att spara ändringarna och klicka sedan på Avbryt för att stänga dialogrutan Makro.

Om du vill köra ett makro från en knapp i verktygsfältet Snabbåtkomst klickar först du lägga till knappen i verktygsfältet. Om du vill göra det, finns i Koppla ett makro till en knapp.

Du kan skapa en egen grupp som visas på en flik i menyfliksområdet och sedan koppla ett makro till en knapp i denna grupp. Du kan till exempel lägga till en egen grupp med namnet "Mina makron" på fliken utvecklare och sedan lägga till ett makro (som visas som en knapp) till den nya gruppen. Om du vill göra det, finns i Koppla ett makro till en knapp.

Köra ett makro genom att klicka på ett område i ett bildobjekt

Du kan skapa en aktiv punkt i en bild som användarna kan klicka på om du vill köra ett makro.

  1. Infoga ett grafikobjekt i kalkylbladet, till exempel en bild, clipart, en figur eller SmartArt.

    Mer information om hur du infogar ett bildobjekt finns i lägga till, ändra eller ta bort figurer.

  2. Om du vill skapa en aktiv punkt på det befintliga objektet, klickar du påInfoga > figurer, markera den form som du vill använda och sedan rita formen på det befintliga objektet.

    Figurer
  3. Högerklicka på den aktiva punkten som du har skapat och klicka sedan på Koppla makro.

  4. Gör något av följande:

    • Om du vill koppla ett befintligt makro till bildobjektet dubbelklickar du på makrot eller skriver makrots namn i rutan Makronamn.

    • Om du vill spela in ett nytt makro för det markerade objektet, klicka på Spela in, ange ett namn för makrot i dialogrutan Spela in makro och klicka sedan på OK om du vill börja inspelningen av makrot. När du är klar med inspelningen av makrot klickar du på Stoppa inspelning Bild av knapp på fliken utvecklare i gruppen kod.

      Tips: Du kan också klicka på Stoppa inspelning Bild av knapp till vänster i statusfältet.

    • Om du vill redigera ett befintligt makro klickar du på namnet på makrot i rutan Makronamn och klickar sedan på Redigera.

  5. Klicka på OK.

  6. Markera den aktiva punkten i kalkylbladet. Då visas Ritverktyg flikarna Format.

  7. I gruppen Figurformat på fliken Format klickar du på pilen bredvid Figurfyllning och klickar sedan på Ingen fyllning

    Meny för färgalternativ för figurfyllning

  8. Klicka på pilen bredvid Kontur och klicka sedan på Ingen kontur.

Om du spelar in ett makro och spara den med namnet Auto_öppnakörs makrot när du öppnar arbetsboken som innehåller makrot. Ett annat sätt att köra ett makro automatiskt när du öppnar en arbetsbok är att skriva en VBA-procedur i händelsen Öppna arbetsboken med hjälp av Visual Basic Editor. Öppna händelsen är en inbyggd arbetsbok händelse som körs dess makrokod varje gång du öppnar arbetsboken.

Skapa ett makro av typen Auto_öppna

  1. Om du vill spara makrot med en viss arbetsbok börjar du med att öppna arbetsboken.

  2. Klicka på Spela in makro i gruppen Kod på fliken Utvecklare.

  3. Skriv Auto_öppna i rutan Makronamn.

  4. Välj den arbetsbok i listan Lagra makrot i som du vill spara makrot i.

    Tips: Välj Arbetsboken egna makron om du vill att makrot ska vara tillgängligt när du använder Excel. När du väljer Arbetsboken egna makron, skapas en dold egna makron arbetsboken (egna.xlsb), om den inte redan finns, och sparar makrot i den här arbetsboken. I Windows Vista sparas arbetsboken i mappen C:\Users\user name\AppData\Local\Microsoft\Excel\XLStart. Om du inte hittar det kan kanske det har sparats i undermappen centrala i stället för lokalt. Den här arbetsboken har sparats i mappen C:\Documents and Settings\användarnamn\Application programmet Data\Microsoft\Excel\XLStart i Microsoft Windows XP. Arbetsböcker i mappen XLStart öppnas automatiskt när Excel startar. Om du vill använda ett makro i arbetsboken egna makron körs automatiskt i en annan arbetsbok måste du också spara arbetsboken i XLStart-mappen så att båda arbetsböckerna öppnas när Excel startar.

  5. Klicka på OK och utför de åtgärder som du vill spela in.

  6. Klicka på Stoppa inspelning Bild av knapp i gruppen Kod på fliken Utvecklare.

    Tips: Du kan också klicka på Stoppa inspelning till vänster i statusfältet.

    Knappen Stoppa inspelning i statusfältet

Meddelanden: 

  • Om du valde att spara makrot i Denna arbetsbok eller i Ny arbetsbok i steg 6 sparar du eller flyttar arbetsboken till någon av XLStart-mapparna.

  • Inspelningen av ett makro av typen Auto_öppna har följande begränsningar:

    • Om den arbetsbok som du sparar Auto_öppna-makrot i redan innehåller en VBA-procedur i händelsen Öppna åsidosätter VBA-proceduren för Öppna-händelsen samtliga åtgärder i Auto_öppna-makrot.

    • Makron av typen Auto_öppna ignoreras om användaren skriver kod som gör att arbetsboken öppnas med metoden Öppna.

    • Makron av typen Auto_öppna körs innan andra arbetsböcker öppnas. Om du spelar in åtgärder som ska utföras automatiskt i standardarbetsboken Bok1 eller i en arbetsbok som läses in från XLStart-mappen kommer Auto_öppna-makrot att misslyckas när du startar om Excel, eftersom makrot körs innan standard- och startarbetsböckerna öppnas.

      Om du stöter på dessa begränsningar måste du, i stället för att spela in ett Auto_öppna-makro, skapa en VBA-procedur för Öppna-händelsen som beskrivs i nästa avsnitt i den här artikeln.

  • Om du vill att Excel ska startas utan att makrot Auto_öppna körs håller du ned SKIFT-tangenten när du startar Excel.

Skapa en VBA-procedur för händelsen öppna i en arbetsbok

I följande exempel används händelsen Öppna för att köra ett makro när du öppnar arbetsboken.

  1. Spara och Stäng alla öppna arbetsböcker.

  2. Öppna den arbetsbok där du vill lägga till makrot eller skapa en ny arbetsbok.

  3. Klicka på Visual Basic i gruppen Kod på fliken Utvecklare.

  4. Högerklicka på objektet ThisWorkbook i Projektutforskaren och klicka på Visa kod.

    Tips: Om fönstret Projektutforskaren inte visas klickar du på ProjektutforskarenVisa-menyn.

  5. Klicka på Workbook i listan Objekt ovanför kodfönstret.

    Det skapas automatiskt en tom procedur för händelsen Öppna som den här:

    privat Sub Workbook_Open()

    End Sub

  6. Lägg till följande rader med kod i proceduren:

    Privat Sub Workbook_Open()
    MsgBox datum
    Worksheets("Sheet1"). Range("a1"). Värde = datum
    Avsluta Sub

  7. Växla tillbaka till Excel och spara arbetsboken som en makroaktiverad arbetsbok (.xlsm).

  8. Stäng och öppna arbetsboken på nytt. Nästa gång du öppnar filen körs Workbook_Open-proceduren, som visar dagens datum i en meddelanderuta.

  9. Klicka på OK i meddelanderutan.

    Obs!: Cellen A1 på Blad1 också innehåller datumet som ett resultat av Workbook_Open-proceduren.

Behöver du mer hjälp?

Du kan fråga en expert i Excel teknisk Communityalltid få support i Answers-communityneller föreslå en ny funktion eller förbättring av Excel användaren röst

Överst på sidan

Obs!: Ansvarsfriskrivning för maskinöversättning: Den här artikeln har översatts av ett datorsystem utan mänsklig inblandning. Microsoft erbjuder dessa maskinöversättningar för att hjälpa icke engelskspråkiga användare att ta del av information om Microsofts produkter, tjänster och tekniker. Eftersom artikeln är maskinöversatt kan den innehålla fel i ordval, syntax och grammatik.

Mer information finns i

Köra ett makro när du öppnar en arbetsbok automatiskt

Automatisera uppgifter med makroinspelaren

Spela in ett makro för att öppna specifika arbetsböcker när Excel startar

Skapa och spara alla makron i samma arbetsbok

Spara ett makro

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×