Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1908to1912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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.
Anzeige
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
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

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige