VBA i Excel: Hvad det er, og hvad du kan bruge det til

Photo of author

By Peter Rasmussen

VBA er en forkortelse for Visual Basic for Applications – et programmeringssprog, der er bygget direkte ind i Microsoft Excel. Med VBA kan du automatisere gentagne opgaver, lave dine egne funktioner og få regnearket til at udføre arbejde, der ellers ville kræve mange manuelle klik og indtastninger. Denne guide forklarer helt fra bunden, hvad VBA er, hvordan det fungerer, hvad du konkret kan bruge det til, hvordan du kommer sikkert i gang, og hvilke moderne alternativer der findes i dag.

Hvad er VBA?

VBA (Visual Basic for Applications) er Microsofts indbyggede sprog til at automatisere opgaver i Office-programmerne. Det findes ikke kun i Excel, men også i Word, PowerPoint, Access og Outlook. I Excel er VBA det, der driver makroer – altså små programmer, der udfører en række handlinger automatisk, når du starter dem.

En makro er i praksis en række instruktioner, du har gemt, så Excel kan gentage dem igen og igen. I stedet for selv at formatere en tabel, kopiere data mellem ark eller rense en liste hver eneste dag, kan en makro gøre det på et sekund med ét klik.

Excel indeholder i forvejen et væld af kraftfulde funktioner til budgetter, regnskaber, udregninger og diagrammer. Men når dine behov bliver mere specielle – eller når de samme opgaver skal gentages mange gange – rækker standardfunktionerne ikke altid. Det er her, VBA kommer ind i billedet og giver dig mulighed for at bygge præcis det, du har brug for.

Hvordan fungerer VBA i Excel?

VBA-kode skrives og redigeres i et selvstændigt vindue kaldet Visual Basic Editor (ofte forkortet VBE). Her samles koden i såkaldte moduler, og hver opgave skrives typisk som en lille rutine (en “Sub” til en handling eller en “Function” til en beregning).

Der er to måder at lave en makro på:

  • Optag en makro — Excel kan optage dine handlinger og automatisk omsætte dem til VBA-kode. Det er den nemmeste vej ind for begyndere og en god måde at se, hvordan koden ser ud.
  • Skriv koden selv — Når du vil have fuld kontrol, logik (f.eks. betingelser og løkker) eller funktioner, som optageren ikke kan lave, skriver du koden direkte i editoren.

Det er vigtigt at vide, at VBA kun kører i de installerede skrivebordsudgaver af Excel til Windows og Mac. VBA virker ikke i Excel på nettet (browserudgaven), hvor du i stedet skal bruge Office Scripts – mere om det længere nede.

Hurtige fakta

Fuldt navnVisual Basic for Applications (VBA)
UdviklerMicrosoft
TypeIndbygget programmeringssprog til makroer
Del afExcel, Word, PowerPoint, Access og Outlook (skrivebordsudgaver)
LicensInkluderet i Microsoft 365 og Office – ingen separat download
PlatformeWindows og macOS (ikke Excel på nettet)
FilformatMakroaktiveret projektmappe (.xlsm / .xlsb)
Officiel dokumentationMicrosoft Learn – Excel VBA
PrisIngen ekstra omkostning – følger med Excel

Hvad kan du bruge VBA til?

VBA er mest værd, når du har opgaver, der gentager sig, eller som Excels indbyggede værktøjer ikke klarer alene. Nogle af de mest almindelige anvendelser er:

  • Automatisere gentagne opgaver — rense data, formatere rapporter, kopiere tal mellem ark eller opdatere en oversigt med ét klik i stedet for mange manuelle trin.
  • Lave dine egne funktioner — en brugerdefineret funktion (UDF) kan du bruge i et ark på samme måde som SUM eller MIDDEL, men med din egen beregning indbygget.
  • Bygge dialogbokse og formularer — vise beskeder, bede brugeren om input eller lave egentlige indtastningsvinduer (UserForms), der gør et regneark lettere og mere sikkert at bruge for andre.
  • Opbygge rapporter og dashboards — samle data og generere opdaterede oversigter og diagrammer automatisk.
  • Arbejde på tværs af Office — f.eks. trække data ind fra Word eller sende en mail via Outlook, direkte fra Excel.
  • Tilføje knapper — placere en knap i arket, så andre kan køre din makro uden at kende til koden bagved.

Sådan kommer du i gang med VBA

For at arbejde med VBA skal du først have adgang til fanen Udvikler i Excel. Den er skjult som udgangspunkt, men er nem at slå til. Fremgangsmåden er lidt forskellig på Windows og Mac.

Slå fanen Udvikler til i Windows

  • Åbn Excel og klik på fanen Filer.
  • Klik på Indstillinger nederst i menuen til venstre.
  • Vælg Tilpas båndet, og sæt flueben ud for Udvikler i listen til højre. Klik OK.
  • Fanen Udvikler vises nu i båndet øverst. Klik på Visual Basic yderst til venstre for at åbne editoren.

Slå fanen Udvikler til på Mac

  • Åbn Excel og gå til Excel > Indstillinger.
  • Vælg Bånd og værktøjslinje.
  • Sæt flueben ved Udvikler under hovedfanerne, og gem.

Når editoren er åben, kan du begynde at skrive dine egne rutiner – eller optage en makro og se, hvordan koden bygges op. VBA er ikke det nemmeste at gå til, men det er heller ikke uoverskueligt svært, og der findes et hav af gratis videovejledninger og begynderguides online. Arbejder du meget i Excel i hverdagen, kan det betale sig at følge et grundlæggende Excel VBA-kursus, hvor du lærer de vigtigste principper fra bunden. Et solidt kendskab til Microsoft Office 365 Personal og Excel generelt gør det desuden hurtigere at forstå, hvad VBA kan lægge oven på regnearket.

Gem din kode: makroaktiverede filer og Personal Macro Workbook

En helt almindelig Excel-fil (.xlsx) kan ikke gemme VBA-kode. Vil du beholde dine makroer, skal du gemme filen i et makroaktiveret format:

  • .xlsm — en makroaktiveret projektmappe. Vælg Filer > Gem som, og vælg “Excel-projektmappe med aktiverede makroer (*.xlsm)”.
  • .xlsb — et binært format, der også gemmer makroer og kan være hurtigere for meget store filer.

Pas på ikke at gemme en fil med makroer som .xlsx bagefter – så fjernes koden. Vil du have, at bestemte makroer er tilgængelige i alle dine projektmapper, kan du gemme dem i din Personal Macro Workbook. Det er en skjult fil ved navn Personal.xlsb, som Excel åbner i baggrunden hver gang. Den oprettes første gang, du vælger at gemme en makro i “Personlig makroprojektmappe” under optagelsen.

Sikkerhed: makroer og risici

Makroer er kraftfulde, men netop derfor har de også været en populær måde for hackere at sprede malware og ransomware på. En ondsindet makro kan køre skadelig kode på din computer, hvis du aktiverer den. Derfor er det vigtigt kun at køre makroer fra kilder, du stoler på.

Microsoft har strammet sikkerheden markant. Siden 2022 blokerer Office som standard VBA-makroer i filer, der er hentet fra internettet – f.eks. e-mailvedhæftninger. Windows mærker nemlig downloadede filer med en usynlig markering kaldet Mark of the Web, og når Excel ser den markering, vises et rødt sikkerhedsbanner, og makroen kører ikke.

Gode vaner, der beskytter dig:

  • Åbn kun makrofiler fra afsendere og kilder, du kender og stoler på.
  • Stoler du på en fil, du selv har hentet, kan du højreklikke på den, vælge Egenskaber og sætte flueben ved Fjern blokering, før du åbner den.
  • Lad være med at ændre sikkerhedsindstillingerne til “Aktivér alle makroer” – det anbefales ikke.
  • Hold din Office-pakke og dit antivirusprogram opdateret som ekstra beskyttelse.

Denne blokering gælder Office på Windows. På Mac og i Excel på nettet fungerer beskyttelsen anderledes, fordi Mark of the Web bygger på en Windows-funktion.

VBA kontra moderne alternativer

VBA er stadig i brug og bliver fortsat vedligeholdt, fordi det virker i alle skrivebordsudgaver af Excel og har årtiers dokumentation bag sig. Men Microsoft har de senere år introduceret nyere værktøjer, der i mange situationer er et bedre valg – især hvis du arbejder i skyen eller deler automatiseringer i en organisation.

  • Office Scripts — baseret på TypeScript og lavet til Excel på nettet (og i nyere skrivebordsudgaver). Scripts gemmes i skyen og kan deles og køres automatisk sammen med Power Automate.
  • Python i Excel — lader dig køre Python direkte i celler til dataanalyse, statistik og avancerede diagrammer. Det blev alment tilgængeligt fra 2024 og kører i en sikker cloud-container.
  • Power Automate — et lavkode-værktøj til at automatisere arbejdsgange på tværs af apps og tjenester, f.eks. når en fil opdateres eller en mail ankommer.

Hvilket værktøj du bør vælge, afhænger af opgaven. Skal du automatisere i en lokal projektmappe eller vedligeholde ældre løsninger, er VBA oplagt. Skal du dele i skyen eller lave tung dataanalyse, kan Office Scripts eller Python i Excel være vejen frem. Tabellen nedenfor giver et hurtigt overblik.

Sammenligning

VærktøjSprogPlatformBedst til
VBAVisual Basic for ApplicationsExcel desktop (Windows/Mac)Automatisering i lokale projektmapper og ældre løsninger
Office ScriptsTypeScriptExcel på nettet + desktopDeling i organisationer og automatisering i skyen
Python i ExcelPythonExcel i Microsoft 365 (Windows/Mac/web)Dataanalyse, statistik og avancerede diagrammer
Power AutomateLavkode (flows)Sky / webAutomatisering på tværs af apps og tjenester
MakrooptagerIngen kode (genererer VBA)Excel desktopHurtig optagelse af handlinger for begyndere

Almindelige fejl og gode råd

  • Du glemmer at gemme som .xlsm — så forsvinder koden. Tjek altid formatet, før du lukker.
  • Du begynder med for store projekter — start med at optage enkle makroer og udbyg derfra.
  • Du springer backup over — en makro kan ændre meget data på ét sekund, og den kan ikke altid fortrydes. Tag en kopi af vigtige filer først, og læs eventuelt mere om backup i Windows 10.
  • Du kører ukendte makroer — åbn aldrig makrofiler fra kilder, du ikke stoler på.
  • Du navngiver uklart — giv makroer og variabler sigende navne, så koden er til at forstå senere.

Hvem passer VBA til?

VBA er relevant for alle, der arbejder meget i Excel og ofte løser de samme opgaver manuelt – f.eks. økonomimedarbejdere, analytikere, administrative medarbejdere og IT-folk. Erfaring med VBA er en værdifuld kompetence at have på cv’et, og det kan spare både tid og fejl i hverdagen.

Du behøver ikke være programmør for at komme i gang. Med makrooptageren kan selv begyndere automatisere små opgaver med det samme, og derfra kan du gradvist lære at skrive egen kode. Arbejder du hjemmefra, kan automatisering frigøre tid til andre opgaver – få inspiration i vores guide til indretning af hjemmekontoret. Og vil du forstå, hvordan automatisering og kunstig intelligens hænger sammen med fremtidens kontorarbejde, er det et godt næste skridt.

Ofte stillede spørgsmål (FAQ)

Hvad er VBA i Excel?

VBA står for Visual Basic for Applications og er et programmeringssprog, der er bygget ind i Excel og de øvrige Office-programmer. Det bruges til at lave makroer, der automatiserer opgaver, og til at bygge dine egne funktioner.

Hvad kan jeg bruge VBA til i Excel?

Du kan automatisere gentagne opgaver, udvikle egne funktioner, lave dialogbokse og formularer samt bygge rapporter og dashboards. Kort sagt kan VBA få Excel til at gøre ting, som standardfunktionerne ikke klarer alene.

Er VBA svært at lære?

Nej, ikke nødvendigvis. Du kan komme i gang uden forkundskaber ved at optage makroer og se, hvordan koden bygges op. Vil du skrive egen kode med logik og betingelser, kræver det lidt øvelse, men der findes mange gratis guides og videoer online.

Virker VBA i Excel på nettet?

Nej. VBA kører kun i de installerede skrivebordsudgaver af Excel til Windows og Mac. I browserudgaven (Excel på nettet) skal du i stedet bruge Office Scripts, som er Microsofts nyere automatiseringsværktøj til skyen.

Er makroer farlige?

Makroer kan misbruges til at sprede skadelig kode, og derfor blokerer Office som standard makroer i filer hentet fra internettet. Så længe du kun kører makroer fra kilder, du stoler på, og holder dine sikkerhedsindstillinger på standardniveauet, er risikoen lille.