Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
832to836
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
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige