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

Dreifach Bedingte Formatierung über VBA in Pivot

Dreifach Bedingte Formatierung über VBA in Pivot
03.06.2008 17:53:16
Andreas
Hallo Herber Fans,
mit Hilfe des Forums konnte ich schon die Idee der bedingten Formatierung in einer Pivottabelle mit Hilfe einer Inputbox realisieren. Diese Bedingte Formatierung wird über VBA nach dem Prinzip „Zellwert ist gleich“ für jedes Feld im Pivot Datenbereich erstellt. Tatkräftig unterstütz hat dabei Franz (fcs)!
Was mir in den letzten Tagen jedoch aufgefallen ist:
Da die bedingte Formatierung als Verweis auf eine Zelle angelegt wird, greift sie auch, wenn der Zellwert 0 oder LEER ist. Das ist an sich auch korrekt. Optimal wäre es jedoch, wenn die Bedingte Formatierung nicht fix nur auf den Zellwert referenziert, sondern über eine Formel auch noch prüft, ob der Referenzwert ungleich 0 und ungleich LEER ist. Als Trockenübung habe ich das schon realisieren können.
In diesem Fall wird die Zelle „F4“ dreifach bedingt formatiert: "=UND($G$330;$G$33"""";F4>$G$33)". „$G$33“ ist wieder die Zelle, die den Referenzwert enthält.
Und hier der erste Versuch, das in eine Form zu überführen, die vom Makro als Formatbedingung verstanden wird:


.FormatConditions.Add Type:=xlExpression, Formula1:= "=UND("&bedformaddress1&""0;""&bedformaddress1&""""";"&pvField&">"&bedformaddress1&")"



Ich hatte auch schon mit „AND“ probiert, aber die Formel muß ja für eine deutsche Excel Applikation lesbar sein. Ich vermute also „UND“ ist schon korrekt. Auch in eine Zelle habe ich es schon eingegeben, um meine Schreibweise mit den Operatorenzeichen zu überprüfen. Aber ich bekomme es leider nicht hin, daß diese Formel über das Makro korrekt in die bedingte Formatierung geschrieben wird. Im VBA Editor blieben alle meine Versuche rot eingefärbt.
Ist es überhaupt möglich, eine solche diffizile bedingte Formatierung über VBA zu realisieren.
https://www.herber.de/bbs/user/52793.xls
Ich würde mich sehr über Eure Ideen und Anregungen freuen, die zur Lösung beitragen.
Viele Grüße,
Andreas Hanisch

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dreifach Bedingte Formatierung über VBA in Piv
04.06.2008 09:25:00
Renee
Hi Andreas,
Mit folgender Anpassung deines Codes, läuft Bed.Formatierung 1. Die 2te entsprechend anpassen:

Dim rC as Range
For Each pvField In pvTable.DataFields
For Each rC In ActiveSheet.Range(pvField.DataRange.Address)
With rC
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=UND(" & BedFormadress & "0;" & _
BedFormadress & """"";" & _
rC.Address & ">" & BedFormadress & ")"
With .FormatConditions(1).Font
.Bold = True
.ColorIndex = 5
End With
End With
Next
Next


GreetZ Renée

Anzeige
AW: Dreifach Bedingte Formatierung über VBA in Piv
04.06.2008 14:14:00
Andreas
Hallo Renée,
vielen Dank für Deine Antwort. Ich habe es in meinen Code integriert und auch für zwei Optionen zum Laufen bekommen. Funktioniert super.
Was ich nun noch einbauen wollte, war eine Prüfung, die zählt, wie viele Zellen, über den Range der Inputbox erfaßt werden. Wenn diese mehr als zwei, dann kommt eine Messagebox die informiert, daß nur zwei Optionen möglich sind (pos./ neg.).
Ich habe aber nun leider den Effekt, daß die Inputbox sich nicht mehr über „Abbrechen“ oder Schließkreuz beenden läßt, sobald die Prüfung der Zellen Anzahl einmal erfolgte. Ich hänge dann in einer Schleife fest. Ich habe schon geguckt, ob irgendwo eine IF Schleife nicht korrekt abgeschlossen wurde, aber konnte nichts finden.
Liegt es an der Sprungmarke?
Auch ist das Phänomen, daß bei zwei markierten Zellen im Range beide Formatierungen sauber eingestellt werden. Wähle ich nur eine, wird die andere Formatierung, die dann ja überflüssig ist, nicht weggenommen.
Wäre es günstiger mit Case Select zu arbeiten?
https://www.herber.de/bbs/user/52813.xls
Vielen Dank für Deine Meinung.
Grüße, Andreas

Anzeige
AW: Dreifach Bedingte Formatierung über VBA in Piv
04.06.2008 14:31:00
Renee
Hi again,
Nach der 'Warnung'-Msgbox hilft diese Zeile:

Set BedFormZelle = Nothing


GreetZ Renée

AW: Dreifach Bedingte Formatierung über VBA in Piv
04.06.2008 15:03:26
Andreas
Hi Renée,
Danke Dir für Deine Hilfe! Das wars gewesen. Es läuft nun alles genial durch.
Einen Schönen Tag Dir noch, Grüße
Andreas Hanisch

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige