Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Jede vierte Zeile in Bereich färben

Jede vierte Zeile in Bereich färben
09.12.2022 12:46:15
Dark
Hallo zusammen,
ich habe einen definierten Bereich (E21:E3013), bei dem per VBA jede vierte Zeile, beginnend ab E21:E22 (die Zellen sind verbunden), die Schriftfarbe geändert werden soll.
Da die Range ziehmlich groß ist, will ich nicht jede Zelle die gefärbt werden soll einzeln eingeben, sondern das ganze über einen Loop laufen lassen. Genau da sind die Schwierigkeiten.
Hat jemand einen Codeschnipsel mit Erklärung bereit, wie man das lösen könnte?

Sub MonZeilFaerb()
Range("E21:E22,E25:E26,E29:E30,E33:E34,E37:E38,E41:E42,E45:E46").Select
With Selection.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
End Sub
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Jede vierte Zeile in Bereich färben
09.12.2022 12:54:59
Daniel
Hi

dim Z as long
for Z = 21 to 3013 step 4
with Cells(z, 5).MergeArea.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
end with
Next
zu erkären gibts da nicht viel.
MergeArea ist eine wichtige Funktion, wenn du Verbundzellen hast, weil MergeArea dir diese Funktion bei Verbundzellen ausgehend von einer Zelle den ganzen Zellverbund liefert. Da es in Excel bei Zellverbünden oft notwendig ist, den gesamten Zellverbund zu bearbeiten und nicht nur eine einzelne Zelle daraus, ist das eine nützliche Funktion.
Gruß Daniel
Anzeige
AW: Jede vierte Zeile in Bereich färben
09.12.2022 13:09:06
onur
Geht auch ganz ohne VBA:
Auf Z1S1-Format umstellen - Bereich anwählen und bedingte Formatierung mit der Formel
=REST(ZEILE(ZS);4)=1
mit der gewünschten Schriftfarbe setzen.
AW: Jede vierte Zeile in Bereich färben
09.12.2022 13:26:20
Dark
Danke @Daniel, genau was ich wollte.
Per bedingte Formatierung ist das nicht möglich. Das kommt in einen VBA Code rein, der die Funktion bei bestimmten Benutzereingaben ausführt und wieder rückgängig macht.
Danke trotzdem.
PS: mit dem .MergeArea.Font habe ich so meine Probleme. Wie muss ich das einbauen, wenn ich nach einem bestimmten Kriterium filtern möchte?

Application.ScreenUpdating = False
Sheets("Planning").Select
Range("$N18:$N$3013").Select
Selection.AutoFilter
ActiveSheet.Range("$N18:$N$3013").AutoFilter Field:=1, Criteria1:="HansdieWurst"
Range("A1").Select
False, AllowUsingPivotTables:=True
Application.ScreenUpdating = True

Anzeige
AW: Jede vierte Zeile in Bereich färben
09.12.2022 13:45:57
Daniel
Hi
schwer zu sagen, ohne die Datei und ihren Aufbau zu kennen und zu wissen, was du konkret machen willst.
wenn du sowieso schon mit der Schleife bearbeitest, würde ich den Autofilter weglassen und dann in der Schleife die Zellwerte abfragen um zu entscheiden, ob die Zelle bearbeitet werden muss oder nicht.
Gruß Daniel
Anzeige
AW: Jede vierte Zeile in Bereich färben
09.12.2022 13:33:49
snb

Sub M_snb()
For Each it In Range("E21:E22,E25:E26,E29:E30,E33:E34,E37:E38,E41:E42,E45:E46").Areas
it.Font.ThemeColor = 2
Next
End Sub

AW: Jede vierte Zeile in Bereich färben
09.12.2022 14:13:09
Jowe
oder so?

Sub M_jowe()
Dim it As Range
For Each it In Range("E21:E3103")
If it.Row Mod 4 = 2 Then
With Cells(it.Row, 5)
With .Font
.ThemeColor = xlThemeColorLight1
.ColorIndex = 6
.TintAndShade = 0
End With
.Interior.ColorIndex = 14
End With
End If
Next
End Sub
Gruß
Jochen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Jede vierte Zeile in Excel färben


Schritt-für-Schritt-Anleitung

Um in Excel jede vierte Zeile in einem definierten Bereich zu färben, kannst du entweder VBA verwenden oder die bedingte Formatierung nutzen. Hier sind die Schritte für beide Methoden:

1. Mit VBA:

  • Öffne den VBA-Editor (ALT + F11).
  • Füge ein neues Modul hinzu (Einfügen > Modul).
  • Kopiere den folgenden Code in das Modul:
Sub JedeVierteZeileFaerben()
    Dim Z As Long
    For Z = 21 To 3013 Step 4
        With Cells(Z, 5).Font
            .ThemeColor = xlThemeColorLight1
            .TintAndShade = 0
        End With
    Next Z
End Sub
  • Schließe den VBA-Editor und führe das Makro aus.

2. Mit bedingter Formatierung:

  • Wähle den gewünschten Bereich aus (z. B. E21:E3013).
  • Gehe zu „Start“ > „Bedingte Formatierung“ > „Neue Regel“.
  • Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“.
  • Gib die folgende Formel ein:
    =REST(ZEILE();4)=1
  • Wähle das gewünschte Format aus und bestätige.

Häufige Fehler und Lösungen

Fehler 1: Die Formatierung wird nicht angewendet.

Lösung: Stelle sicher, dass du den richtigen Zellbereich ausgewählt hast und die Formel korrekt eingegeben wurde.

Fehler 2: VBA gibt einen Laufzeitfehler aus.

Lösung: Überprüfe, ob der Zellbereich korrekt definiert ist und ob es sich um zusammengeführte Zellen handelt. In diesem Fall kann die MergeArea-Eigenschaft nützlich sein.


Alternative Methoden

Neben den oben genannten Methoden gibt es auch eine Möglichkeit, jede zweite Zeile farbig zu markieren, indem du die REST-Funktion in der bedingten Formatierung verwendest. Diese Methode ermöglicht es dir, flexibel mit verschiedenen Zeilen zu arbeiten, z. B. jede zweite oder jede dritte Zeile.


Praktische Beispiele

Beispiel 1: Färbe jede zweite Zeile in einem Bericht.

Sub JedeZweiteZeileFaerben()
    Dim Z As Long
    For Z = 1 To 100 Step 2
        With Cells(Z, 1).Interior
            .ColorIndex = 6 ' Gelb
        End With
    Next Z
End Sub

Beispiel 2: Bedingte Formatierung für jede dritte Zeile.

  • Formel: =REST(ZEILE();3)=0

Tipps für Profis

  • Nutze die MergeArea-Eigenschaft, wenn du mit verbundenen Zellen arbeitest.
  • Experimentiere mit verschiedenen Farben und Schrifteinstellungen, um das gewünschte Design zu erreichen.
  • Verwende die Tastenkombination ALT + F8, um schnell alle verfügbaren Makros anzuzeigen und auszuführen.

FAQ: Häufige Fragen

1. Wie kann ich in Excel jede zweite Zeile einfärben?
Du kannst die bedingte Formatierung nutzen oder ein VBA-Makro schreiben. Die Formel für die bedingte Formatierung lautet =REST(ZEILE();2)=0.

2. Was ist der Vorteil von VBA gegenüber der bedingten Formatierung?
VBA ermöglicht dir eine flexiblere und leistungsfähigere Automatisierung, insbesondere bei großen Datenmengen oder spezifischen Anforderungen, die über die Möglichkeiten der bedingten Formatierung hinausgehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige