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:

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:

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.

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):

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 →