Exel Zellenfarbe einer anderen Zelle übernehmen
Hi, ich habe eine Frage zu Exel und geht schon recht tief in die Materie:
Ich habe eine Bedingte Formatierung für einen Zeilenbereich angelegt (3-Farben-Skala), was natürlich kein Problem darstellt, mein Problem liegt nun darin, dass ich bestimmte benachbarte Zellen Gleichfarbig darstellen möchte wie die sich farblich ändernden Zellen.
eine Formel ist leider nicht anwendbar, da die Werte in der bedingt Formatierten Spalte variabel sind und eventuell auch gleiche Werte haben können, also keine feste Anzahl von unterschiedlichen Farben vorhanden ist und mein Problem folglich nur mit übernahme einer Zellenfarbe möglich scheint.
Um es vorweg zu nehmen: es ist eine größere Berechnungstabelle, in der jede Zelle eigene Werte (über Formeln) errechnet und die zu ändernden Zellen mit der Hintergrundfarbe haben auch beinhaltende Formeln (wenn,.....)
Danke im Vorraus
5 Antworten
Dieses Makro wird ausgeführt, wenn neu berechnet wird (...Calulate).
Im VBA-Monitor (erreichbar mit F11) in das entsprechende Arbeitsblatt (hier(Tabelle 1) kopieren und .... fertig.
Private Sub Worksheet_Calculate()
For i = 8 To 23 'von...bis Zeile
Cells(i, 14).Select 'Zeile 8, Spalte 14 (N)
Selection.Copy 'Formatierung holen
Range(Cells(i, 15), Cells(i, 19)).Select 'auswählen Zielbereich 1
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Cells(i, 14).Select 'nochmal Formatierung holen
Selection.Copy
Range(Cells(i, 21), Cells(i, 24)).Select 'auswählen Zielbereich 2
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next i
End Sub
(natürlich gehören Next I und End Sub mit ins Makro, das will hier aber nicht in den Code)
Berichte mal, ob es so gedacht war.
Gruß aus Berlin
da ich i-wie nicht herausfinden kann wie man hier Bilder hochläd ein Link zu dem momentanen Ergebnis:
Als eventuelle Lösung sehe ich hier noch de Erstellung eines Makros.
Dieses Makro könnte gestartet werden, wenn
a) Neuberechnung durchgeführt wird oder
b) auf Befehl per Button.
Voraussetzung ist, dass sich die zu färbenden Zellen nicht "verschieben".
Das Makro merkt sich dann die Farbe der Quellzelle
"Farbe = Cells(Zeile, Spalte).Interior.Color"
und schreibt diese Farbe in die Zielzellen.
"Cells(Zeile, Spalte).Interior.Color = Farbe"
Vielleicht hilft diese Anregung weiter.
Gruß aus Berlin
Hi,
mit Makros habe ich noch nicht gearbeitet, könntest du mir zum Verständnis die komplette Formel zur Farbübernahme aus N8 und zur Farbausgabe an O8-S8;U8-X8 schreiben? Habe jetzt schon hin und her getestet, aber bekomme immer nur Fehlermeldungen, die Exel-Hilfe hilft auch nicht wirklich weiter :-P
Und noch eine Frage zur Übernahme an andere Zeilen, Ich möchte ja jede weitere Spalte bis zur Nr. 23 fortführend die Farbe von Spalte N an die oben aufgeführten weitergeben. Ist es Möglich das Makro auch in diese Richtung zu schreiben, oder muss pro Quellzelle ein extra Makro her?
Letzte Frage, wie kann man implementieren, dass ein Makro automatisch bei einer Neuberechnung ausgeführt wird, immer das Makro zu starten, ist ja über die Menüleiste möglich.
Danke im Vorraus
Cells(Zeile, Spalte).Interior.Color dachte ich auch, aber das liest nur die Grundfarbe der Zelle aus, nicht die durch bedingte Formatierung hervorgerufene Farbe. Eine Makro-Aufzeichnung dieses Phänomens brachte einen so komplizietrten Code bzw so kompliziert sinnvoll nachzustellenden Code, dass ich das gar nicht erst versucht habe:
da müsste man die Priorität der Bedingung, die Festlegung der Formatierung für die jeweilige Priorität und ihre Erfüllung durch die Zahl miteinbeziehen...
(wäre schätzungsweise ein mehrtägiger Lernprozess und hinterher nicht mehr zu vermitteln -da kapituliere ich!)
:-D hab ich mir schon gedacht, aber trotzdem danke für die verdeutlichung der Schwierigkeit ;)
Oh je, ... ... meine Bemühungen, dem Makro die Farben beizubringen (Color und ColorIndex) laufen alle darauf hinaus, dass die Grundfarbe der Zelle kopiert wird, nicht aber die durch die bedingte Formatierung erzwungene Fabe weiterbearbeitet werden kann.
Also der falsche Weg.
Aber ...
man kann doch die bedingte Formatierung auch auf ANDERE Zellen anwenden.
Ich habe mal im anliegenden Bild (hochladen NUR als "Antwort", nicht in "Kommentar") die Bedingung in Zelle N3 (wenn größer als 10) auf die Bereiche N8 bis S8 und U8 bis X8 ausgedehnt.
Das sollte den Anforderung genügen (?)
Gruß aus Berlin
leider nein, denn die skala geht von 0-max 59 und wird ab 60 auf 0 reduziert, alle werte über 60 werden anderweitig addiert,... ich werde jetzt einfach eine Sotierung mit einbauen und so den Farbverlauf fest auf die zellen einbringen, ohne bedingte formatierung, dann passen die farben immerhin :-D herzlichen dank für die Mühe und schöne Grüße zurück nach Berlin
Ich habe jetzt mal eine zeitlang herum probiert, finde dafür aber leider keine Lösung.
Selbst wenn ich bei der Farbskala Formel einsetzte, bekomme ich es nicht hin.
Die einzige Möglichkeit, die ich da sehe, ist mehrere Bedingte Formatierungen zu erstellen, in abgestuften Farbtönen, und für diese Formeln festzulegen, die sich auf die Nachbarspalte beziehen.
Eine andere Möglichkeit sehe ICH im Moment nicht.
Ist leider auch nicht möglich, da man ja keine feste Anzahl von Farben hat, da Werte identisch sein können und so den selben Endwert bekommen (folglich auch die selbe Farbe) und da es ein Fließender Übergang ist, den man (in meinem Fall grün über gelb zu rot) kann man auch nichts festes einstellen, außer man setzt sich von anfang an ca 24 Farben fest und geht dann über Formel (% vom Maximalwert oder ähnlichem)
--> recht umständlich, dachte man könne es anderweitig Einbinden
Ich hab den Problem nicht 100% verstanden, aber kannst du die benachbarten Zellen nicht einfach gleich formatieren, wie die vorgegeben Zelle (diese mit der richtigen Farbe)?
leider nein, denn die Farblich formatieren Zellen haben andere werte.
z.B. wenn jetzt zellen A1-A12 Zahlenwerte haben und sich daraus die Farbliche Makierung ableitet und B1-B12 kommentare zu A1-A12 Beinhalten, kann man ja nach Kommentaren keinerlei Formeln, oder sonstige Werte eingeben. (in wirklichkeit sind in den folgenden nachbarzeilen aber weitere berechnungsformeln, die jedoch nicht Farblich sotiert werden können, da diese von A1-A12 abweichen und in keinerlei relation stehen)
anderst ausgedrückt: die bedingt Formatierten Zellen ergeben sich aus einer Reihe von Rechnungen/Formeln und die darauffolgenden Zellen haben nichts mehr damit am Hut, sollen aber die selbe Farbliche Kennzeichnung beibehalten und sich Farblich anpassen. (A1-A12 berechnen sich durch einen Grundwert, den man z.B. in H1-K1 an Werten eingeben kann -->Variablen)
Makro funktionier, jedoch leider nicht, wie es soll :-D
was nun passiert ist, dass die Bedingte Formatierung und nicht die Farbe, die durch die Bedingte Formatierung ausgegeben wird an die folgenden Zellen weitergegeben wird, das heißt, die Farben in Spalte O-X richten sich nach der Höhe der Zahl, nicht nach farbe der nachbarzellen.
Sollte mich wohl damit abfinden, dass es nicht gehen mag :-(
dennoch danke für die Mühe