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

Zellen einfärben wenn andere Zelle farbig

Zellen einfärben wenn andere Zelle farbig
30.07.2013 16:34:49
Flo
Hallo zusammen,
ich habe ein Problem, dass ich vermutlich nicht mit der bedingten Formatierung lösen kann. Ich möchte gerne ein Tabellenblatt so gestalten, dass in jeder Zeile die Spalten B bis G grau eingefärbt werden, wenn sie in der Zeile direkt darunter weiß sind.
Mein Code funktioniert leider nicht, da ich nicht weiß, wie man die Range richtig manipuliert. Ich bin blutiger Anfänger in VBA.
Sub Makro1()
lz = Cells(Rows.Count, 2).End(xlUp).Rows.Row
For t = lz To 2 Step -1
If Range("Bt+1:Gt+1").Interior.Color = RGB(255, 255, 255) Then
Range("Bt:Gt").Interior.Color = RGB(242, 242, 242)
End If
Next
End Sub
Kann mir jemand helfen? Vielen Dank schon einmal!
Beste Grüße

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Folgendes wäre richtiger, aber noch nicht ...
30.07.2013 16:43:04
Luc:-?
…ganz richtig, Flo,
denn du wirst wohl noch einen 2.Zyklus innerhalb des 1. benötigen, der die Spalten durchgeht.
If Range("B" & t & ":G" & t).Offset(1, 0).Interior.Color = RGB(255, 255, 255) Then
Dann wäre auch Cells statt Range besser.
Gruß Luc :-?

AW: Folgendes wäre richtiger, aber noch nicht ...
30.07.2013 16:47:38
Flo
Hallo Luc,
Danke schon einmal für die schnelle Antwort! Wie baue ich die zweite Schleife denn genau ein?

...zB so, ...
30.07.2013 20:46:32
Luc:-?
…Flo
    For t = lz To 2 Step -1
For Each tz In Range(Cells(t, 2), Cells(t, 7))
If tz.Offset(1, 0).Interior.Color = RGB(255, 255, 255) Then
tz.Interior.Color = RGB(242, 242, 242)
End If
Next tz
Next t
Am PgmAnfang Dim tz As Range nicht vergessen! Statt RGB(255, 255, 255) kannst du auch &hFFFFFF schreiben. Übrigens, Color ergibt auch dann weiß, wenn die Zelle ungefärbt ist. Wenn da unterschieden wdn soll/muss, musst du den ColorIndex abfragen. Der ist bei ungefärbter Zelle stets xlNone, sonst ggf 2 (.Color = ActiveWorkbook.Colors(2) → wenn das Farbschema nicht verändert wurde).
Achtung! Range und Cells beziehen sich im PgmBsp stets auf das ActiveSheet des ActiveWorkbook!
Gruß Luc :-?
Anzeige

372 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige