Jeg snekkret sammen en macro til deg, jeg. Den er rimelig treg, men den får jobben gjort. Årsaken til at den er treg er at den scanner gjennom alle radene i dokumentet ditt for å finne ut hvor stort arbeidsområdet ditt er. Den stopper først denne prosessen når den finner en helt tom rad. Du vil antakelig se hvordan den jobber når du kjører den, ettersom den flytter markøren bortover arket i en formidabel hastighet.
Kode
Sub AddStripes()
'Variabler
bredde = 0 'Bredden på dataområdet
lengde = 0 'Lengden på dataområdet
farge = 15 'Bakgrunnsfargen som skal fylles inn
data = True
'Regn ut dataområdet i regnearket
Range("A1").EntireRow.Select
totalbredde = Selection.Columns.Count
'Loop nedover arket til første tomme rad
Do Until data = False
'Reset datavariabelen (den endres til TRUE når data er funnet)
data = False
'Søk i raden
For aktiv = 1 To totalbredde - 1
If ActiveCell.Value <> "" Then
'Data funnet, lagre koordinat hvis eksisterende koordinat er mindre
data = True
If ActiveCell.Column > bredde Then
bredde = ActiveCell.Column
End If
End If
ActiveCell.Offset(0, 1).Select
Next aktiv
Range("A" & ActiveCell.Row).Select
ActiveCell.Offset(1, 0).Select
Loop
'Markøren står nå på cellen under den første tomme raden i arket.
'Flytt den opp to hakk og lagre koordinatet
ActiveCell.Offset(-2, 0).Select
lengde = ActiveCell.Row
'Reset markøren, start fargeleggingen av dataområdet
Range("A1").Select
'Fargelegg rad
Do Until ActiveCell.Row > lengde
For aktiv = 1 To bredde
Selection.Interior.ColorIndex = farge
Selection.Offset(0, 1).Select
Next aktiv
'Reset markøren
Selection.Offset(2, -bredde).Select
Loop
'Reset markøren
Range("A1").Select
End Sub
Her er komplett source med kommentarer. For å bruke den velger du Tools > Macro > Visual Basic Editor. Der finner du frem ikonet som er nest til venstre i andre menyrekke (øverst i vinduet) og klikker på den lille pilen ved sidenav knappen. Da får du opp en liten meny. Velg 'Module' og lim inn koden i det vinduet som bør sprette opp. Da lagrer du macroen og du kan nå kjøre den fra Excel ved å velge Tools > Macro > Macros etterfulgt av Run.
Merk: Macroen vil tryne hardt om du kjører den i et helt tomt regneark. Dette har jeg ikke orket å fikse, siden du ikke vil ha noen nytte av å kjøre den i et tomt regneark. Excel har i tillegg lagt opp et hat mot macroer generelt, så du må antakelig justere ned sikkerhetsnivået for å kunne bruke den mer enn en gang. Når du prøver å åpne et macrodokument så whiner Excel gjerne om virusfare og sånt. As if.
Når den er ferdig å kjøre er det meningen at den fargelegger annenhver rad ned til den første tomme, og den farger ikke lengere ut mot høyre enn den ytterste cellen som har en verdi.
Lykke til!
Ninjaedit: Hvis du vil ha en litt mer smakelig farge enn grå så er det variabelen 'farge' som skal endres. Den er satt til 15 nå, som er grå. Fargekodene finner du ved å telle deg frem i fargevelgeren i Excel.
Sist endret av Moff; 30. oktober 2007 kl. 00:35.