Makro registrering – hva er poenget?!

Hva er det, og hvordan funker det?

Makro registrering i Excel registrerer det du gjør i Excelboken og produserer programkode som du kan lagre og spille av igjen.

Mange har forsøkt seg på makro registrering og endt opp med å himle med øynene og fjerne resultatet. Grunnen er at den innspilte sekvensen blir statisk – den spiller inn akkurat det man gjør og konverterer det til Visual Basic programmeringsspråk – og byr ikke på den fleksibiliteten man faktisk ønsker seg.

Jeg liker!

Jeg bruker registrerer makroer ofte. Når jeg skal gjøre noe jeg aldri har gjort før, kan jeg jo sette i gang og Google, men veien kan bli lang siden jeg vet lite eller ingenting om kommandoene jeg skal lete etter. Da kan det være mer effektivt å starte registrering av makro, gjøre manuelt det jeg vil automatisere, og se på programkoden som har blitt generert. Da ser jeg kommandoene som blir brukt, og kan leke meg med koden. Og Google kommandoene…

Dette eksemplet bygger på denne artikkelen: Kollektivregnskapet

(Artikkelen fortsetter under videoruten. )

Vise utvikler-fliken

Hvis du allerede ser Utvikler-fliken som på bildet under, er du klar for action og kan gå til neste avsnitt.

Hvis du ikke ser utviklerfliken, går du til Fil -> Alternativer og klikker på Tilpass båndet. Der setter du på huken for Utvikler:

Nå er du klar for makro registrering

Klikk på Registrer makro og klikk OK

Spill inn sekvensen du vil automatisere

I videoen spiller vi inn en sortering.
OBS: I videoen har jeg glemt å poengtere at du må klikke et sted innenfor tabellen du skal sortere.

Så sorterer du området etter alle kunstens regler og klikker OK.

Stopp registreringen

Nå har vi gjort det vi skal og stopper registreringen:

Resultatet

Nå kan du klikke på Visual Basic…

… og du vil se at det har dukket opp en Modul1 under Modules:

Dobbelklikker du på denne, får du se makroen som er spilt inn:

Kan man ikke programmere, ser dette ganske pyton ut.

I dette tilfellet er det bare en ting vi må sørge for, og det er at rutinen sorterer alle linjene i fanen «Shopping». Siden vi på innspillingstidspunktet bare hadde 20 linjer, vil makroen gjøre akkurat det – sortere de første 20 linjene. Teksten jeg har markert med gult i bildet over, er de vi må endre.

I Kollektivregnskapet har vi en funksjon som heter Ledig(), som har som oppgave å finne neste ledige linje i fanen. Hvis du skal gjøre dette i et nytt regneark hvor funksjonen Ledig() ikke finnes, kan du i stedet pønske på hvor mange linjer du tenker at maksimalt kommer til å ha i tabellen din, og bytte ut 20 med tallet du har pønsket ut. Hvis dette tallet er 5000, endrer vi koden slik:

Nå kan du endre navn på makroen og sette inn merknader med fnutt foran (merknadsteksten blir grønn)

 

Makroen er ferdig – og så da?

Nå vil du jo gjerne kjøre denne makroen, og det behageligste for brukeren er om det skjer helt automatisk.

Vi kan hekte på makroer til mange forskjellige hendelser – ting vi gjør – i Excelarket. Nå skal vi få makroen til å kjøre når vi velger fanen Shopping

Gå til Visual Basic igjen (Hurtigtast Alt+F11)

Dobbeltklikk på Shopping og klikk på nedtrekksmenyen til høyre for (General) og velg Worksheet.

Excel vil automatisk velge hendelsen Selectionchange, men vi skal velge Activate som ligger øverst i listen:

På linjen mellom Private Sub og End Sub skriver du navnet dur har valgt for makroen.

Gratulerer 🙂

Lagre

Husk å lagre Excelboken som Makroaktivert, ellers skrelles makroene dine vekk. Du får advarsel om dette.

Last ned

Last ned regnearket her: KollektivRegnskapet.xlsm (157 downloads )

Similar Posts