IT Fjernundervisning

Makro vs. VBA

Beskrivelse

Makroer vs. VBA

Excel har funktion, som du sikkert allerede kender, der giver mulighed for at optage en makro. Det er en slags båndoptager, der optager tastetryk, menuvalg etc. og gemmer det i det man kalder en makro. Man kan efterfølgende afspille sådan en makro - dvs. få gentaget tastetryk, menuvalg etc.

Optage en makro

Du kan optage en makro ved at vælge Funktioner | Makro | Indspil ny makro... fra menuen. Når du har gjort det skal du forholde dig til følgende:

Excel VBA kursus - optag en makro- fjernundervisning

Dvs. du skal give makroen et navn, så du kan finde den igen når den skal afspilles, evt. tilknytte en genvejstast og endelig afgøre, hvor du vil gemme makroen.

Når du har klikket på OK dukker der en ekstra værktøjslinje frem, der bruges til at stoppe optageren igen:

Excel VBA kursus - stop makro optageren - fjernundervisning

 

Afspille en makro

Har du valgt en genvejstast kan du naturligvis bare bruge den til at afspille makroen igen, men ellers må du ind i Funktioner | Makro | Makroer ... for at afspille makroen.

Excel VBA kursus - afspil makro - fjernundervisning


Se koden bag en makro

Det Excel gør når sådan en makro optages er, at skrive den VBA kode, der skal til at gøre præcis det samme som brugeren gør!

Denne VBA kode kan du få at se f.eks. ved at klikke på Rediger i ovenstående dialog. (en anden mulighed er at klikke på ALT+F11, der åbner VBA editoren).

Det ser sådan f.eks. her ud (vi skal nok komme tilbage til VBA editoren senere):

Excel VBA kursus - VBA editoren (VBE) viser VBA kode - fjernundervisning

Det betyder, at vi kan bruge det, at optage en makro til at finde ud af, hvilke objekter vi skal bruge - det er meget nyttigt!

MEN hvorfor skal man så lære at kode VBA når Excel kan gøre det - Jo det skal man fordi, der er en nogle ting, som ikke kan optages

  • løkker dvs. gentagelser af de samme handlinger
  • betingelser dvs. situationer, hvor handlingen skal afhænge f.eks. af værdien af en celle
  • bruger dialog

 

 

 


Øvelse

Vi skal have optaget en række makroer. Lav et regneark, som du navngiver "optagede makroer.xlsm" (husk at gemme med aktiverede makroer, ellers kommer der ingen makoer med i filen).

Filen skal indeholde følgende makroer:

  • En formaterings makro, der ændrer det markerede til skriftstørrelse 16 og gør skriftfarven rød
  • To formatering makroer mere efter eget valg
  • En makro, der skifter til Ark fane 2 og skriver "Velkommen" i cellen A1

 

Husk, at du kan gå ind i VBA editoren og slette makroer (slet fra Sub til End Sub begge inkl.), der ikke virker efter hensigten og skrive yderligere kommenterer til (' tegnet er et kommentar tegn).

Send regnearket til mig.

 


Løsning

Jeg har driblet sådan et lille regneark sammen.

Du kan downloade det her. Jeg har sat de 3 makroer på hver sin knap - det skal du nok lære at gøre selv i næste lektion.


Hele pointen med dette kursus er, at vi ikke længere skal optage vores makroer, men i stedet kode dem i hånden i stedet, så vi skal ikke bruge for meget tid her.

MEN når du alligevel kaster dig ud i optagelse af makroer skal du være meget opmærksom på, hvor og hvordan du placerer markøren og være opmærksom på, at mange celle bevægelser bliver oversat til faste celle referencer - en markering "herfra og til bunden/toppen af datasættet" som man gjorde da man optog makroen bliver som regel oversat til en markering fra én celle til én anden.

 

Brug for hjælp til VBA, VSTO eller SQL?

Scient Data tilbyder professionel IT-konsulentbistand

Kontakt Scient Data →