if
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:
macro
Merk celle A1. Legg opp til at Excel setter inn et tilfeldig heltall mellom -1 og +1 i cellen A1:
macro

Finner du ikke funksjonen TILFELDIGMELLOM()?

Kopier denne formelen inn over flere celler.
macro
Avslutt makro-opptaket og se på koden som du har generert:
macro

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:
macro
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:
macro
Kjør denne makroen noen ganger for å være sikker på at den funker...
macro
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:
macro
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.
macro

Tilbake til index