|
If-tester
|
|
If-tester trenger du for å få din makro til å reagere korrekt på
forskjellige situasjoner. For eksempel: skrive innholdet til en celle med
rød skrift dersom det er negativ; ellers med blå farge.
|
If
celle inneholder et tall som er negativt,
Then
bruk rød farge.
End If
|
|
If-tester kan du ikke registrere automatisk med Makro-rekorderen. Akkurat som
løkker, må du legge dette inn manuelt.
|
|
Vi skal lage en liten makro som legger tilfeldige tall i et omrøde,
Så skal makroen sette fargene slik at fargen gjenspeiler innholdet
til cellene.
|
Start med et nytt regneark og sett i gang med registreringen av en ny makro:
|
Merk celle A1.
Legg opp til at Excel setter inn et tilfeldig heltall mellom -1 og +1
i cellen A1:
Finner du ikke funksjonen TILFELDIGMELLOM()?
|
Kopier denne formelen inn over flere celler.
|
Avslutt makro-opptaket og se på koden som du har generert:
Vi ser at i denne makroen blir en formel lagt inn på celle A1,
og deretter kopert i flere celler.
|
Det er ikke viktig nå, men du kan gjøre koden mye mer kompakt og
oppnå det samme:
|
|
Nå kommer if-testen! Vi ønsker oss at cellens farge er enten
rød, grønn, eller blå, avhenging av tallet som står der.
Vi lager en ny makro for dette, for å holde ting litt adskillt. Ellers
blir det fort vanskelig å holde styr.
|
|
For å komme i gang, kan du registrere
en makro som setter skriftfarge i en celle til rød, for eksempel. Da
ser du hvordan det skal bli.
|
Selve if-testen må du ihvertfall legge inn manuelt, som sagt.
Dette gjør ved å legge inn linjer av type
If ... Then .. End if. Til slutt bør du ha noe som ligner dette
her:
|
Kjør denne makroen noen ganger for å være sikker på at den
funker...
|
For å knytte dette sammen, skal vi lage noe som produserer
nye tilfeldige tall, og så fargelegger cellene automatisk i hele
området. Du aner det, dette gjør vi ved hjelp av en løkke:
|
|
Løkken ligger i en annen prosedyre, her kallt mosaic().
Denne prosedyren er sjefen her, den styrer de andre to.
|
|
Som du ser, er dette en For-Next løkke av en litt annen type. Denne
typen er litt bedre tilpasset Excels måte å hanske med celler.
|
Løkken gjør bare en ting med hver celle som er utvalgt i løkken:
kalle vår prosedyre setCellFarge(), som tar seg av resten.
|