Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

ExcelVBA: Auslesen Hintergrundfarbe, die durch bedingte Formatierugn entstanden ist





Frage

Hi @all, ich habe eine Excel 2003 Tabelle, in der bestimmte Ergebniswerte bestimmte bedingte Formatierungen bewirken. Sagen wir mal (einfachster Fall), wenn in einer Zelle eine 1 steht, wir der Hintergrund grün. VBA soll die Farben finden, die durch diese bedingte Formatierung entstanden ist. Beispielcode: For i = 1 To 6 Cells(i, 2) = Cells(i, 1).FormatConditions(1).Interior.ColorIndex Next i liefert aber immer 4, ganz gleich, ob die Zelle durch eine bedingte Formatierung grün ist oder nicht. Wie kann ich Hintetrgrundfarben von Zellen in VBA auslesen, die durch bedingte Formatierungen eingestellt werden? NB.: es ist nicht möglich, nach dem Zellwert selbst zu suchen. In der wirklichen Anwendung ist das ein Kalender, und die Feiertage werden durch bedingte Formatierung markiert. Bewegliche Feste liegen aber auf veränderlichen Zellen.

Antwort 1 von Hajo_Zi

Hallo Nick,

ich vermute Du kennst Dich ausgezeichnet in VBA aus.
Link zur Datei

Gruß Hajo

Antwort 2 von ExcelUser

Oops... *räusper* ich war der naiven Meinung, daß ich nur die falsche Eigenschaft erwischt habe odersowas. Aber vielen Dank dafür, damit muß ich erstmal ein wenig rumprobieren...

Antwort 3 von ExcelUser

Also, ich kämpfem ich gerade durch den Code... in einem BeispielXLS funktioniert das. Ich frage mich aber, wie ich es hinkriege, mit diesem Code die Color-Eigenschaft für eine als cells(i, j) referenzierte Zelle zu finden? Ein Algorithmus zählt mit i (für die Zeile) und j (für die Spalte) durch verschiedene Bereiche, und soll jeweils wenn er eine bestimmte Farbe findet reagieren. Mit dem Programm müßte ich jeweils die zu untersuchende Zelle aktivieren, was die Sache stark verlangsamen würde...

Antwort 4 von Hajo_Zi

Hallo Nick,

darum hatte ich auch geschrieben Du kennst Dich ausgezeichnet mit VBA aus. In VBA kann auf select zu 99,9% verzichtte werden und in diesem Fall bestimmt auch. Da dieses Gebiet aber sehr kompliziert und Zeitaufwendig ist befasse ich mich damit nicht und liefere nur einen Ansatz.

Gruß Hajo

Antwort 5 von ExcelUser

Hi,

ich habe schon eine ganz andere Lösung gefunden... die ist komplexer als ich dachte, daß es sein muß, aber viel einfacher als das. Ich hätte nicht gedacht, daß das Auslesen der Ergebnisse bedingter Formatierungen so schwierig ist... trotzdem vielen Dank, hab' was dazugelernt! :-)