24. juli 2002 - 14:29Der er
22 kommentarer og 2 løsninger
Problemer med farvning ag rækker
Jeg bruger følgende makro (fundet her på eksperten :o) ) til at farve rækkerne i mine regneark:
Sub farve() For Række = 2 To 100 Step 2 Rows(Række & ":" & Række).Select With Selection.Interior .ColorIndex = 15 .Pattern = xlSolid End With Next Række
For Række = 1 To 99 Step 2 Rows(Række & ":" & Række).Select With Selection.Interior .ColorIndex = 48 .Pattern = xlSolid End With Next Række
End Sub
Jeg vil gerne have at der skal være en lille "border" som der er normalt, når man ikke har farvet cellerne. Kan man det? Hvordan?
Og når jeg tilføjer en ny række og kører makroen igen, så bliver de 2 nederste linier samme farve, hvordan slipper jeg for det? Kan man på en eller anden måde ligesom når jeg farver dem, så sætte den til "No fill"
Public Sub Color() Dim lCount As Long Dim rRow As Range
For Each rRow In ActiveSheet.Rows("1:100") If Not (rRow.Row Mod 2 = 0) Then DoTheColorJob rRow, 15 Else DoTheColorJob rRow, 48 End If Next rRow
Set rRow = Nothing End Sub
Public Sub DoTheColorJob(ByRef rRow As Range, ByRef iColor As Integer) With rRow With .Interior .ColorIndex = iColor .Pattern = xlSolid End With With .Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With .Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With .Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With .Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With .Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End With End Sub
Farver, og "border" perfekt. Men der er stadigvæk det problem at når jeg tilføjer en ny række og kører makroen igen, så bliver de 2 nederste linier samme farve, hvordan slipper jeg for det?
Det kan have noget at gøre med, at du nu har 101 linie, og makro kun håndterer 100 linier ( ActiveSheet.Rows("1:100") ) Hvis du f.eks. har noget i alle celler i kolonne A, så kan du skifte ActiveSheet.Rows("1:100") ud med ActiveSheet.Range("A1").CurrentRegion.Rows
Synes godt om
Slettet bruger
24. juli 2002 - 15:23#5
Du kunne indsætte følgende linier i starten af Sub Color()
flemmingdahl -> hvis nu man tilføjer en linie på f.eks linie 61 så får den samme farve som linie 60, så derfor kører man makroen igen, men så vil linie 100 og 101 have samme farve, så linie 101 skal være hvid (ikke farven hvid, men ingen farve (no fill))
Ville det være muligt at lave den så det kun er et makeret område at den farver og laver borders i?? Så man selv bestemmer hvilke områder?? Jeg sætter point op til 100 hvis der kommer en løsning til det!
Disse to liner sætter textfarve og cellefarve som normalt når du åbner et nyt ark.
Synes godt om
Slettet bruger
24. juli 2002 - 22:08#9
Jeg har lavet et Excel tilføjelsesprogram for et stykke tid siden der farvelægger rækker. Man vælger startrække, slutrække, farve og mellemrum. Du må gerne se om du kan bruge den til noget. Jeg skal bare vide om du bruger dansk eller engelsk Excel.
blackadder -> kan du ikke lige lave et svar, så du kan få nogle point, for din udmærkede add-in!
Synes godt om
Slettet bruger
25. juli 2002 - 10:14#24
OK
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.