Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Optagelse af Din Første Makro | Introduktion til VBA og Excel-objektmodellen
Excel VBA til Forretningsautomatisering

Optagelse af Din Første Makro

Stryg for at vise menuen

Makrooptageren er den hurtigste måde at se ægte VBA-kode på uden selv at skrive noget: du udfører en handling manuelt, Excel registrerer hvert klik som en VBA-sætning, og du kan afspille det — eller læse det for at lære syntaksen for de objekter, du netop har brugt.

Optagelse af en gentagen opgave

  1. På fanen Udvikler skal du klikke på Optag makro;
  2. Navngiv den FormatEmployeeHeader (makronavne må ikke indeholde mellemrum);
  3. Vælg Denne projektmappe under "Gem makro i."
  4. Klik på OK — Excel optager nu;
  5. Vælg række 1 (overskriftsrækken), gør den fed og anvend en lysegrøn fyldfarve;
  6. Klik på Stop optagelse på fanen Udvikler.
carousel-imgcarousel-imgcarousel-img

Afspilning af makroen

Fortryd din manuelle formatering (Ctrl+Z), så overskriften vender tilbage til almindelig sort tekst. Klik derefter på Makroer på fanen Udvikler, vælg FormatEmployeeHeader, og klik på Kør. Excel anvender straks den nøjagtige formatering igen — fordi den nu afspiller den kode, den skrev, mens du arbejdede.

Forståelse af den genererede kode

Åbn VBE (Alt+F11) og kig ind i det nye modul. Du vil se noget, der ligner dette:

To ting er værd at bemærke med det samme. For det første svarer hver handling, du udførte, til en linje VBA — at vælge et område blev til Range("A1:F1").Select, og at gøre det fed blev til Selection.Font.Bold = True.

For det andet, bemærk mønsteret med Select efterfulgt af en handling på Selection. Det er praktisk for optageren, men det er ikke sådan, erfarne VBA-udviklere skriver kode manuelt.

Hvad optageren ikke kan

  • Den kan ikke træffe beslutninger — ingen If-sætninger, ingen løkker, ingen betinget logik;
  • Den hardcoder præcise områder og værdier, så den fejler, så snart dine data ændrer form;
  • Den kan ikke bede brugeren om input eller validere noget;
  • Den genererer ofte mere omfangsrig og langsommere kode end en håndskrevet ækvivalent;
  • Den kan ikke kommunikere med andre programmer som Outlook.

Tænk på optageren som en oversætter, ikke en automatiseringsmotor: den er fremragende til at lære navnene på objekter og egenskaber og nyttig til hurtige engangsformateringsmakroer, men reel forretningsautomatisering — den slags med logik, løkker og fejlhåndtering — skal skrives manuelt. Det er den færdighed, som hele dette kursus bygger op til.

Opgave

Optag, bryd op og læs.

  1. Optag en anden makro kaldet HighlightIT, der vælger kolonnen Department og anvender en fed, kursiv skrifttype på en hvilken som helst celle — du skal ikke bekymre dig om at gøre det betinget endnu, bare optag den manuelle formatering.
  2. Kør begge makroer efter hinanden og bekræft, at formateringen bliver anvendt korrekt igen.
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Optagelse af Din Første Makro

Makrooptageren er den hurtigste måde at se ægte VBA-kode på uden selv at skrive noget: du udfører en handling manuelt, Excel registrerer hvert klik som en VBA-sætning, og du kan afspille det — eller læse det for at lære syntaksen for de objekter, du netop har brugt.

Optagelse af en gentagen opgave

  1. På fanen Udvikler skal du klikke på Optag makro;
  2. Navngiv den FormatEmployeeHeader (makronavne må ikke indeholde mellemrum);
  3. Vælg Denne projektmappe under "Gem makro i."
  4. Klik på OK — Excel optager nu;
  5. Vælg række 1 (overskriftsrækken), gør den fed og anvend en lysegrøn fyldfarve;
  6. Klik på Stop optagelse på fanen Udvikler.
carousel-imgcarousel-imgcarousel-img

Afspilning af makroen

Fortryd din manuelle formatering (Ctrl+Z), så overskriften vender tilbage til almindelig sort tekst. Klik derefter på Makroer på fanen Udvikler, vælg FormatEmployeeHeader, og klik på Kør. Excel anvender straks den nøjagtige formatering igen — fordi den nu afspiller den kode, den skrev, mens du arbejdede.

Forståelse af den genererede kode

Åbn VBE (Alt+F11) og kig ind i det nye modul. Du vil se noget, der ligner dette:

To ting er værd at bemærke med det samme. For det første svarer hver handling, du udførte, til en linje VBA — at vælge et område blev til Range("A1:F1").Select, og at gøre det fed blev til Selection.Font.Bold = True.

For det andet, bemærk mønsteret med Select efterfulgt af en handling på Selection. Det er praktisk for optageren, men det er ikke sådan, erfarne VBA-udviklere skriver kode manuelt.

Hvad optageren ikke kan

  • Den kan ikke træffe beslutninger — ingen If-sætninger, ingen løkker, ingen betinget logik;
  • Den hardcoder præcise områder og værdier, så den fejler, så snart dine data ændrer form;
  • Den kan ikke bede brugeren om input eller validere noget;
  • Den genererer ofte mere omfangsrig og langsommere kode end en håndskrevet ækvivalent;
  • Den kan ikke kommunikere med andre programmer som Outlook.

Tænk på optageren som en oversætter, ikke en automatiseringsmotor: den er fremragende til at lære navnene på objekter og egenskaber og nyttig til hurtige engangsformateringsmakroer, men reel forretningsautomatisering — den slags med logik, løkker og fejlhåndtering — skal skrives manuelt. Det er den færdighed, som hele dette kursus bygger op til.

Opgave

Optag, bryd op og læs.

  1. Optag en anden makro kaldet HighlightIT, der vælger kolonnen Department og anvender en fed, kursiv skrifttype på en hvilken som helst celle — du skal ikke bekymre dig om at gøre det betinget endnu, bare optag den manuelle formatering.
  2. Kør begge makroer efter hinanden og bekræft, at formateringen bliver anvendt korrekt igen.
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 3
some-alt