Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle einfärben bei komplexer Bedingung

Forumthread: Zelle einfärben bei komplexer Bedingung

Zelle einfärben bei komplexer Bedingung
05.01.2007 08:56:43
JürgenH
Liebe Excelgurus,
ich bräuchte mal einen VBA-Code für folgende Problemstellung:
Wenn in meinem Tabellenblatt (Pivot-Tabelle) eine Zelle in der Spalte H einen Wert hat, der kleiner ist als der Inhalt der Zelle I1, aber nicht leer ist, und in der gleichen Zeile der Wert in der Spalte D leer ist, dann soll die Zelle in der Spalte H rot eingefärbt werden.
Danke für Eure Hilfe.
Jürgen
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle einfärben bei komplexer Bedingung
05.01.2007 09:08:54
EtoPHG
Hallo Jürgen,
Warum VBA ?
Als Bedingte Formatierung - Formel ist in H1 - Muster rot, dann runterkopieren (Format füllen):

=UND(NICHT(ISTLEER(H1));H1<$I$1;ISTLEER(D1))

Gruss Hansueli
AW: Zelle einfärben bei komplexer Bedingung
05.01.2007 09:14:34
JürgenH
Hallo Hansueli,
ich baue die Pivot-Tabelle mit VBA auf (mit Macrorekorder aufgezeichnet) und wollte im Makro gleich die Farbformatierung mit erledigen. VBA wäre also nicht schlecht.
Gruß
Jürgen
Anzeige
AW: Zelle einfärben bei komplexer Bedingung
05.01.2007 09:42:46
EtoPHG
Hallo Jürgen,
Und das alles mit VBA nein... Respekt!
Du musst die Address-Range von tTHisRange richtig setzten oder per VBA bestimmen:

Sub urbs_guerilla()
Dim tThisRange, tThisStart, tThisActive As String
tThisActive = ActiveCell.Address
tThisRange = "H10:H20"                  ' Range-Bereich ggf. Anpassen
tThisStart = Left(tThisRange, InStr(tThisRange, ":") - 1)
ActiveSheet.Range(tThisStart).Activate
ActiveSheet.Range(tThisRange).FormatConditions.Delete
ActiveSheet.Range(tThisStart).FormatConditions.Add Type:=xlExpression, Formula1:= _
"=UND(NICHT(ISTLEER(" & tThisStart & "));" & tThisStart & "<$I$1;ISTLEER(D" & Right(tThisStart, Len(tThisStart) - 1) & "))"
ActiveSheet.Range(tThisStart).FormatConditions(1).Interior.ColorIndex = 3
ActiveSheet.Range(tThisStart).AutoFill Destination:=ActiveSheet.Range(tThisRange), Type:=xlFillFormats
ActiveSheet.Range(tThisActive).Activate
End Sub

Gruss Hansueli
Anzeige
AW: Zelle einfärben bei komplexer Bedingung
05.01.2007 10:03:59
JürgenH
Danke, Hansueli,
es funzt, und meine kritischen Zellen leuchten tatsächlich in kräftigem Rot.
Nur ein Problem: die Pivot-Tabelle hat täglich unterschiedliche Länge, und wenn ich bei der ThisRange-Angabe z.B. fest H2:H999 einstelle, bekomme ich im Ausdruck massenweise Leerseiten.
Wie kann ich denn mit VBA die letzte belegte Zelle der Pivot-Tabelle und somit H2:H? bestimmen (wie gesagt: VBA nur mit Macrorekorder und kleinere einfache Spielereien)
Danke im Voraus.
Jürgen
Anzeige
AW: Zelle einfärben bei komplexer Bedingung
05.01.2007 10:10:30
EtoPHG
Hallo Jürgen,
Ersetze die Zeile

tThisRange = "H10:H20"

durch

tThisRange = "H2:H" & ActiveSheet.Range("H65536").End(xlUp).Row

Gruss Hansueli
AW: Zelle einfärben bei komplexer Bedingung
05.01.2007 10:14:03
EtoPHG
Nochmals Hallo Jürgen,
Ersetze auch noch die Zeile

ActiveSheet.Range(tThisRange).FormatConditions.Delete

durch

ActiveSheet.Range("H:H").FormatConditions.Delete

sonst werden nicht alle alten Bedingungen gelöscht.
Gruss Hansueli
Anzeige
AW: Zelle einfärben bei komplexer Bedingung
05.01.2007 10:54:35
JürgenH
Nochmals Danke, Hansueli, für Deine Mühe!
Es läuft jetzt reibungslos!
Man lernt eben immer dazu ;-)
Ein schönes Wochenende wünscht
Jürgen
;

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