|
Din andre makro
|
|
Med denne makroen kan du få Excel til å fungere som et
trafikklys. Et meget enkelt trafikklys.
|
|
Hva gjør et trafikklys? Det svitsjer fra grønnt til gult til rødt
til gult til grønnt, om og om igjen.
|
|
Vi skal først lage en makro som forandrer fargen til cellen A1 fra
grønn til gul til rød til gul til grønn igjen. Etterpå skal
vi gjøre det hele litt mer raffinert.
|
Start et nytt ark og få fram Visual Basic verktøylinjen, ved hjelp av
Vis -> Verktøylinjer -> Visual Basic.
Bruk opptaksknappen og gi et navn til makroen
som du vil registrere.
|
Merk celle A1, og sett bakgrunnen til cellen på grønn. (I motsettning
til den allerførste makroen har vi her
cellemerkingen eksplisitt med i makroen.)
Fortsett med å sette bakgrunnen til gul.
Fortsett med å sette bakgrunnen til rød, så gul igjen,
så grønn.
|
OK det er nok for trafikklyset vårt! Gå på Stop.
|
Nå kan du kjøre makroen din: bruk avspill-knappen
og velg makroen som du har registrert.
|
|
Ser du at det skjer noe når du velger Kjør?
Nei? Vel det er fordi Excel bruker ikke mye tid på å kjøre
denne makroen. Det hele skjer så fort at du ikke ser det, rett og slett.
Cellen A1 er grønn til å begynne med, og til slutt er den grønn
igjen, og fargeforandringen er ikke synlig.
|
Vi skal fikse dette ved å bremse ned Excel. For dette trenger vi å
redigere makroen litt. Bruk igjen avspill-knappen, velg makroen som
du har registrert, og velg Rediger. Du kan også bruke edit-knappen
|
Som du ser, er du nå konfrontert med koden din. Da du brukte Excel i
opptaksmodus, har den registrert dine aksjoner ved å oversette alt sammen
til Visual Basic. Det hele kan virke litt merkelig, men i grunnen er det
ganske lett å forså.
|
Makroen begynner med
Sub trafikklys1()
og slutter med
End Sub
Nøkkelordet "Sub" står for subroutine og betyr starten eller slutten
av en makro.
Innenfor selve makroet ser du at i første linjen blir cellen A1 utvalgt,
eller selektiert. Så blir det gjort noe med dette utvalg: fargeindeksen
til bakgrunnen blir satt til 4, så til 6, så til 3, etc. Som du
skjønner, er dette koden for "sette bakgrunnen til grønn, så til
gul, så til rød, etc".
|
Du kan prøve en liten forandring i koden: velg et større omrøde
i starten. I første linjen erstatter du
Range ("A1").Select
med
Range ("A1:F9").Select
Test effekten ved å kjøre makroen igjen. Du kan lett gå tilbake
til Excel ved å bruke Excel-knappen i raden av hurtigknapper.
|
Nå kan du bremse ned Excel. Du gjør det ved å legge inn linjer
av denne typen inn i koden:
Application.Wait(Now + TimeValue("0:00:02"))
Dette her for eksempel vil gi 2 sekunder ventetid.
|
Det mest naturlige vil være å legge det inn mellom
End With
og
With Selection.Interior
linjene. Hvorfor? For hver With blokk er en nettopp en blokk, en
enhet i koden.
|
|
Kjør makroen igjen -- er ikke dette ganske fint allerede?
|
|
Vil du ha et enda bedre trafikklys?
|