Makro gesucht

Hallo,
ich möchte meine Excel-Liste vom Layout ansprechender gestalten.

Und zwar soll nach der Überschrift die Hintergrundfarbe der
einzelnen Zeilen sich für jede zweite Zeile ändern.

Ich habe das auch soweit hinbekommen. Das Problem ist nur, dass mit dieser Funktion die gesamte Zeile eingefärbt wird. Ich möchte aber nur den Bereich der Spalten A bis H.

So sieht momentan die Funktion aus:

i = Cells(Rows.Count -1).End(xlUp).Row
For n = 2 to i Step 2
Rows(n).Interior.ColorIndex = 15
next

Kann mir da jemand helfen, dass nur ein Bereich von Spalte A bis H eingefärbt wird? Noch besser wäre es natürlich, wenn man hinter her diesem Bereich noch nen dicken Rahmen verpassen könnte :smile:

Gruß

Sina

Hallo Sina,
hier hat vor einiger Zeit jemand einen tollen Tipp mit bedingter Formatierung gegeben, der auch dein Problem lösen könnte:
Zellen markieren - also in deinem Fall Spalte A-H und Zeilen unterhalb deiner Überschrift.
Dann über Format - bedingte Formatierung bei ‚Formel ist‘ eingeben: =REST(ZEILE();2)=1. Dann bei Format das Muster/Farbe auswählen und den Rahmen außen formatieren.
Das hat den Vorteil, dass auch beim Einfügen einer neuen Zeile trotzdem noch jede zweite Zeile gelb ist. Der Rahmen ist allerdings um jede einzelne Zelle, aber wenn du die dünnste Rahmenstärke wählst, sieht es aus wie die Gitternetzlinie.

Einen schönen Abend noch wünscht
Angel

Hallo Sina,
folgendes Makro macht das.
Der Vorteil der bedingten Formatierung ist, sie bleibt erhalten auch wenn du Zeilen einfügst oder löschst.

Gruß
Reinhard

Sub Makro1()
Dim letzte As Long, n As Integer
'letzte gefüllte Zelle in A, gibt nur Fehler wenn A65536 nicht leer oder A:A leer
letzte = Worksheets("Tabelle1").Range("A65536").End(xlUp).Row
With Worksheets("Tabelle1").Range(Cells(2, 1), Cells(letzte, 8))
 .FormatConditions.Delete
 .FormatConditions.Add Type:=xlExpression, Formula1:="=REST(ZEILE();2)=0"
 .FormatConditions(1).Interior.ColorIndex = 6
 For n = 7 To 10 '7=xlEdgeleft usw
 With .Borders(n)
 .LineStyle = xlContinuous
 .Weight = xlThick
 .ColorIndex = xlAutomatic
 End With
 Next n
 .Borders(xlInsideVertical).LineStyle = xlNone
 .Borders(xlInsideHorizontal).LineStyle = xlNone
End With
End Sub

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Sina,

um nochmal auf dein Makro zurückzukommen, um das Einfärben nur auf die Spalten A:H zu begrenzen, musst du nur die Zeile mit dem Färben ändern, und zwar so:
Range(Cells(n, 1), Cells(n, 8)).Interior.ColorIndex = 15

MfG
Daniel