Programmering av makron i Excel: Den kompletta steg-för-steg-guiden

Senaste uppdateringen: 29 augusti 2025
Författare: TecnoDigital
  • Makron automatiserar repetitiva åtgärder i Excel, vilket minskar fel och sparar tid.
  • Du kan skapa dem med inspelaren och förbättra dem med VBA för ökad flexibilitet.
  • Använd relativa referenser för att hantera olika intervall och undvika redundanta steg.
  • Spara som .xlsm och hantera säkerheten för att köra makron med tillförsikt.

Makron i Excel och hur man programmerar dem

Om du märker att du utför samma uppgifter i Excel upprepade gånger är makron din bästa vän för att spara tid. Med dem kan du automatisera hela sekvenser av åtgärder (läs mer om VBA-programmering ), från formatering till import av data eller utföra beräkningar, och utlösa dem när du vill med ett klick eller en kortkommando.

När du skapar ett makro registrerar Excel dina klick och tangenttryckningar och kör dem om noggrant. Du kan sedan finjustera koden för att finjustera körningen och konsultera resurser för Excel . Det är vanligt att börja med makroinspelaren och sedan förfina den med VBA, vilket ger större kontroll, flexibilitet och inga fel på grund av slarv.

Vad är egentligen ett makro i Excel?

Ett makro är en lista med instruktioner som Excel kör i en definierad ordning . Det kan vara så enkelt som att tillämpa en procentuell stil eller så komplext som att förbereda en rapport med pivottabeller , formatera den, skapa kalkylblad och skicka ett e-postmeddelande i Outlook. Makron sparas i din arbetsbok och kan köras närhelst de behövs.

Du behöver inte kunna programmera för att komma igång: inspelaren översätter dina handlingar till VBA-kod. Trots det kommer viss VBA-kunskap att låta dig skapa anpassade funktioner, formulär och till och med miniapplikationer i Excel.

Varför använda makron? Verkliga fördelar

Huvudsyftet med ett makro är att undvika repetitiva uppgifter och minimera fel . Om du förbereder samma rapport varje månad kommer ett makro att bespara dig de mekaniska stegen och låta dig fokusera på det som är viktigt.

Dess fördelar inkluderar tidsbesparingar, konsekvent utförande (utan missade steg) och möjligheten att skapa genvägar och knappar för att snabba upp processer . Om du bara använder Excel ibland kanske det inte är värt det; men om du använder det dagligen kommer du att märka skillnaden från dag ett.

Aktivera fliken Utvecklare (Windows och Mac)

Fliken Utvecklare är dold som standard. I Windows högerklickar du på menyfliksområdet och väljer "Anpassa menyfliksområdet". Markera "Utvecklare" och klicka på OK. Därefter ser du fliken Utvecklare bredvid Visa.

På en Mac, gå till Excel > Inställningar > Verktygsfält och menyfliksfält. Under "Huvudflikar" väljer du "Utvecklare" och sparar. Detta ger dig åtkomst till inspelaren, VBA och kontroller . Om du inte har använt Excel tidigare kan du läsa den grundläggande Excel-guiden för att bekanta dig med menyfliksfältet och dess alternativ.

Hur man skapar makron med inspelaren

Inspelningsverktyget är perfekt för att komma igång. I Utvecklare > Spela in makro (eller Alt+T+M+R i Windows) anger du ett beskrivande namn. Kom ihåg: namnet måste börja med en bokstav, utan mellanslag eller symboler.

Välj var du vill spara: "Denna arbetsbok" fungerar i de flesta fall. Om du vill att den alltid ska vara tillgänglig väljer du "Personlig makroarbetsbok" så skapar/sparar Excel den i Personal.xlsb , som öppnas dolt med Excel.

Lägg eventuellt till en genväg. För att undvika konflikter (till exempel att Ctrl+Z försvinner) rekommenderas det att använda genvägar med Ctrl+Shift. Du kan också skriva en kort, tydlig beskrivning (väldigt användbart när du har många makron).

Klicka på OK och utför de åtgärder som ska spelas in. Till exempel: välj A1 och använd formatet "Procent". Undvik onödiga klick eller ändringar av markeringar som inte ingår i den avsedda processen, eftersom inspelaren spelar in nästan allt.

  Android App Manager: Komplett guide och jämförelse

När du är klar stoppar du inspelningen. För att köra den, gå till Utvecklare > Makron (eller Alt+F8), välj ditt makro och klicka på Kör. Du kommer att se Excel upprepa stegen i exakt samma ordning.

Kör, redigera och hantera dina makron

Från Utvecklare > Makron (Alt+F8) kan du köra, redigera eller ta bort makron. Om du väljer Redigera öppnas Visual Basic Editor med den inspelade koden, som du kan rensa upp och optimera (den innehåller ofta redundanta steg).

Att tilldela ett makro till en knapp eller form är väldigt bekvämt: infoga en form, högerklicka > Tilldela makro, välj makrot och du är klar. När du klickar på formen körs det direkt.

För att hålla den lättillgänglig i verktygsfältet Snabbåtkomst, öppna verktygsfältsmenyn (nedåtpil) > Fler kommandon > under "Kommandon tillgängliga i", välj "Makron", lägg till dina och ändra ikonen om du vill. Nu har du en permanent knapp även när du inte är i utvecklarläge.

Om du behöver återanvända makrot i en annan arbetsbok kan du kopiera modulen från Visual Basic Editor. Öppna VBE (Alt+F11), dra modulen till den andra öppna arbetsboken eller använd Export/Import .bas-filen.

Programmera makron i Excel med Visual Basic (VBA) Editor

För att gå bortom inspelaren, öppna redigeraren med Alt+F11. Infoga en modul (Insert > Module) och skapa din första subrutin. Grundmönstret är Sub Name() … End Sub.

Om du till exempel vill visa ett meddelande och skriva ett värde i cell A1 kan du börja med något enkelt. På så sätt förstår du strukturen och hur du anropar makrot från Excel (Alt+F8) eller tilldelar det till en knapp, med väldigt få rader kod :

Sub Primera_Macro()
    Range("A1").Value = "Esto de las macros mola."
    MsgBox "Hola, querido amigo."
End Sub

Ett annat snabbt exempel på hur man tillämpar procentstilen på den aktuella markeringen. Det här makrot replikerar vad du gjorde med inspelaren , men skrev direkt:

Sub FormatoPorcentaje()
    Selection.Style = "Percent"
End Sub

Den ideala kombinationen är: spela in för att snabba upp saker och ting, öppna sedan VBE för att rensa bort onödiga steg, lägga till variabler, villkor eller loopar. På så sätt förvandlar du en "bokstavlig" inspelning till ett robust och återanvändbart makro.

Absoluta kontra relativa referenser

Som standard skapar inspelaren makron i absolut läge: den agerar alltid på samma celler (till exempel B3) oavsett var du befinner dig när du kör den. Om data ändrar position i din process kanske det inte är vad du behöver.

Med "Använd relativa referenser" arbetar makrot relativt till den aktiva cellen när körningen börjar. Om du till exempel började spela in i cell B3 och skrev "Förnamn", "Efternamn" etc. och flyttade åt höger, kommer makrot att skriva samma information relativt till cellerna C4, D4, E4 etc. när du kör från cell C4.

Ett typiskt exempel: att lägga till titlar i en tabell som ibland börjar i cell B3 och ibland i cell C5. Med absolut läge skulle den alltid skriva i cell B3. Med relativt läge anpassar den sig till den valda startcellen.

Vanliga misstag vid registrering av processer

En vanlig fallgrop är att man spelar in en formel med "dra"-funktion för, säg, tre rader, och tror att den fungerar för längre tabeller. Skrivaren kommer då att registrera något motsvarande " fyll tre celler nedåt ", inte "till slutet av tabellen".

Lösningen är att ändra ditt tillvägagångssätt: använd dynamiska intervall (till exempel att detektera den sista raden), loopar eller metoden CurrentRegion, eller justera makrot i VBA efter att du har spelat in det så att det skalas till valfri storlek.

  Komplett guide till Gemini Code Assist: funktioner, utgåvor och nyheter

Goda vanor vid inspelning

Innan du spelar in, kör igenom processen manuellt ett par gånger för att förfina den. Gör korta, specifika inspelningar istället för en enda stor inspelning; det gör dem lättare att underhålla och kombinera.

Undvik onödiga klick, skrollning i menyfliksområdet och markeringar som inte bidrar med något. Håll makronamnet och beskrivningen tydliga så att du eller någon kollega direkt kan identifiera dess syfte.

Kör makron på många sätt

Förutom dialogrutan Makron (Alt+F8) kan du starta makron med hjälp av en form, en knapp i verktygsfältet Snabbåtkomst eller genom att öppna arbetsboken. Du kan till och med låta Excel köra makrot från andra Office-appar, vilket gör att du kan automatisera uppgifter mellan olika program (till exempel uppdatera en tabell och skicka ett e-postmeddelande via Outlook).

Tänk noga på kortkommandon: om du tilldelar Ctrl+Z till ett makro förlorar du möjligheten att Ångra medan arbetsboken är öppen. Därför rekommenderas det att använda Ctrl+Shift -kombinationer för att undvika konflikter.

Spara arbetsböcker med makron

När en fil innehåller VBA-kod, spara den som en .xlsm-fil så att koden bevaras och kan köras. Om du sparar den som en .xlsx-fil förstörs VBA-projektet . Om du vill ha globala makron, använd den personliga makroarbetsboken (Personal.xlsb).

Säkerhet och aktivering av makron

Makron kan blockeras beroende på dina säkerhetsinställningar. Kontrollera Säkerhetscenter för att aktivera dem selektivt och aktivera aldrig makron från okända källor. Att förstå din säkerhetsnivå hjälper dig att balansera skydd och produktivitet.

Tilldela makron till knappar, former och kontroller

Om du vill att användare ska kunna köra makron automatiskt, tilldelar du ett makro till en knapp, form eller kontroll. Högerklicka på objektet > Tilldela makro > välj. Du kan också placera en ikon i menyfliksområdet eller verktygsfältet Snabbåtkomst och länka den till makrot.

Om du använder formulär eller ActiveX-kontroller kan du tilldela makron eller händelseprocedurer (till exempel vid klick) till dem. Detta möjliggör mer användarvänliga gränssnitt och guidade processer.

Användbara makroexempel (VBA)

Dessa exempel illustrerar vanliga uppgifter. Du kan klistra in dem i en modul (Alt+F11 > Infoga > Modul) och anpassa dem. Kom ihåg att signera arbetsböckerna eller justera säkerhetsinställningarna om din organisation kräver det så att du kan köra dem utan varningar.

Kopiera det markerade innehållet till en annan plats på samma ark: Selection.Copy Destination

Sub CopiarSeleccion()
    If TypeName(Selection) = "Range" Then
        Selection.Copy Destination:=Selection.Offset(0, 2)
    Else
        MsgBox "Selecciona un rango de celdas primero."
    End If
End Sub

Skriv ut det aktiva arket: ActiveSheet.PrintOut

Sub ImprimirHojaActual()
    ActiveSheet.PrintOut
End Sub

Spara filen som en makroaktiverad arbetsbok (.xlsm): ActiveWorkbook.SaveAs

Sub GuardarComoXlsm()
    Dim ruta As String
    ruta = ThisWorkbook.Path & Application.PathSeparator & "LibroConMacros.xlsm"
    ActiveWorkbook.SaveAs Filename:=ruta, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

Använd formatering på ett område (justera området efter dina behov): Med Range(…)

Sub FormatoRango()
    With Range("A1:D10")
        .Font.Bold = True
        .Interior.Color = RGB(230, 230, 250)
        .Borders.LineStyle = xlContinuous
    End With
End Sub

Hitta ett värde i ett intervall och visa den första matchningen: Range(…).Find

Sub BuscarValor()
    Dim celda As Range
    Dim valor As String
    valor = InputBox("¿Qué valor quieres buscar?")
    If valor = "" Then Exit Sub
    Set celda = Range("A1:D1000").Find(What:=valor, LookIn:=xlValues, LookAt:=xlPart)
    If Not celda Is Nothing Then
        MsgBox "Encontrado en: " & celda.Address
        celda.Select
    Else
        MsgBox "No se encontró el valor especificado."
    End If
End Sub

Praktiskt fall: formatering som procentandel

Inspelning: Starta inspelningen, namnge den, välj var den ska sparas och tilldela eventuellt en genväg och beskrivning. Markera cellerna och använd "Procent" från fliken Hem. Stoppa inspelningen och kör sedan om den med Alt+F8. Om du vill spela upp den med minimalistisk kod, använd Selection.Style = "Procent" i VBA.

  Komplett guide till AI-ramverk för öppen källkod för agenter

Tips: Undvik att byta cell i onödan under inspelning. Dessa fram-och-tillbaka-rörelser spelas in och kan sakta ner och skada makrot.

Automatisera långa uppgifter: små makron är bättre

Om du har en process med många steg, överväg att dela upp den i flera mindre makron och anropa dem sekventiellt. Detta gör underhåll enklare, låter dig återanvända block och förenklar felsökning.

Till exempel ett makro för att förbereda data, ett annat för att formatera, ett annat för att generera en utskrift och ett annat för att exportera till PDF eller skicka via e-post . Du kan anropa dem ett och ett eller alla samtidigt.

Redigera och rensa inspelad kod

Inspelningsverktyget registrerar "allt": val, klick och flikbyten. När VBE öppnas tar det bort onödiga val (Välj/Val) genom att ersätta dem med direkta referenser (till exempel Range("A1").Value = ... ) och grupperar format i With/End With-block.

Dessutom lägger den till variabler och grundläggande felhantering. Ett par if-satser och enkla kontroller förhindrar fel när intervallet är tomt eller markeringen inte är som förväntat.

Vanliga frågor

Hur skapar jag ett användarformulär i Excel? Öppna Visual Basic Editor (Alt+F11), gå till Infoga > Användarformulär och lägg till kontroller (textrutor, knappar etc.). Du kan visa det med hjälp av ett makro.

Sub MostrarFormulario()
    UserForm1.Show
End Sub

Därifrån tilldelar du procedurer till kontrollernas händelser (till exempel ett knappklick) för att utföra den logik du behöver.

Hur skyddar/avskyddar jag ett ark med makron? Använd dessa rutiner genom att ändra lösenordet efter önskemål. De låter dig aktivera eller avaktivera skyddet med ett enda klick.

Sub ProtegerHoja()
    ActiveSheet.Protect Password:="segura", AllowFiltering:=True
End Sub

Sub DesprotegerHoja()
    ActiveSheet.Unprotect Password:="segura"
End Sub

Hur tar jag bort ett makro? Gå till Utvecklare > Makron, markera makrot och tryck på Delete. Om du vill ta bort all kod från en modul öppnar du VBE (Alt+F11), letar upp modulen i projektet, högerklickar och väljer Ta bort modul (du kan exportera den först om du vill spara den).

Ett sista praktiskt tips: Om du formaterar en månadsrapport där kunder med utestående saldon ska markeras i rött och fetstil, registrera sekvensen en gång, justera VBA-koden så att den gäller rätt intervall (med hjälp av sista-raden-detektering eller filter) och spara makrot i din personliga makroarbetsbok. Nästa gång räcker det med en enkel genväg eller knapp för att tillämpa formateringen direkt, felfritt, på några sekunder.

Makron i Excel
Relaterad artikel:
Makron i Excel: Hur du automatiserar uppgifter och ökar din produktivitet