Kann man bei Excel die Farbe der bedingten Formatierung aus der Farbe einer anderen Zelle übernehmen?
Hallo zusammen,
ich habe über bedingte Formatierungen einen Projektplan erstellt, bei dem die Kalenderwochen eingefärbt werden wenn das Teilprojekt in der Kalenderwoche aktiv ist. Soweit so gut, ich würde mir die Farbe in der bedingten Formatierung aber gerne aus einer anderen Zelle holen.
MaW: In Zelle A3 steht das Teilprojekt, und die Zelle hat eine bestimmte Farbfüllung. Wenn die Füllung gelb ist, dann soll Excel bitte die Zellen A4-A56 auch gelb füllen, wenn in den entsprechenden Kalenderwochen das Teilprojekt aktiv ist.
Geht sowas, meintwegen auch VBA?
Würde mich Rückmeldungen und eventuelle Links sehr freuen
Gruß
Octonaut
2 Antworten
Die Färbung über bedingte Formatierung lässt sich auch mit VBA nicht kopieren, da es keine Hintergrundfarbe im eigentlichen Sinne ist. Es hilft nur, die Bedingung nachzustellen, über die die Färbung gesteuert wird.
Für Deinen Fall reicht es aber wohl aus, die bedingte Formatierung anzupassen. Die Formel mit der A3 gefärbt wird, muss auch für die A4-A56 verwendet werden.
DH!
Eventuell kann man diese Zeile auch in ein Selection-Change-Ereignis einbauen. Leider wird sie dann aber bei jedem Anklicken einer andere Zelle ausgeführt. Also meist unnötiger Weise. Wenn es aber bei dieser einen Zeile bleibt, wird das nicht auffallen.
Allerding wird dann die Farbe der anderen Zellen erst angepasst, wenn man nach dem Ändern der Farbe in A3 eine andere Zelle aktiviert. Ist aber wohl immer noch bequemer, als es manuell zu starten.
Zur Sicherheit kann man diese Zeile auch noch ins Activate-Ereignis einbauen (Private Sub Worksheet_Activate()) , sodass es beim "Betreten" des Blattes ausgeführt wird und man unbesorgt nach dem Ändern von A3 direkt speichern und schließen kann.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range(Cells(4, 1), Cells(6, 1)).Interior.Color = Cells(3, 1).Interior.Color
End Sub
Wie bei AChris angemerkt: es gibt diese Eigenschaft, man kann sie benennen und über eine VBA-Bedingung als Hintergrundfarbe zB dort festlegen, über Ereignismakro auch bedingt oder bedingt wieder löschen
Ich habe mich wohl mißverständlich ausgedrückt. Die Füllfarbe von A3 soll manuell ausgewählt werden, und dann sollen via bedingter Formierung A4-A56 die gleiche Farbe erhalten.
Markiere A3-A54
Bedingte Formatierung --> Formel zur... --> A$3="aktiv"
Farbe Vergeben, Fertig
Wenn es eine bedingte Formstierung ist macht das aber keinen Sinn, dann kann ich die Bedingung auch gleich auf alle Zellen Abfragen. Das einzige was ich mir hier vorstellen könnte: du willst eine bedingte Formatierung, diese soll sich aber jeweils nach der Farbe in der Zelle in Zeile drei richten. Also, Bedingung erfüllt, Farbe aus Zeile drei ansonsten weiß.
Ich habe mich wohl mißverständlich ausgedrückt. Die Füllfarbe von A3 soll manuell ausgewählt werden, und dann sollen via bedingter Formierung A4-A56 die gleiche Farbe erhalten.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("A3")) Is Nothing Then
Farbe = Target.Interior.Color
Range(Cells(4, Target.Column), Cells(54, Target.Column)).Interior.Color = Farbe
End If
End Sub
Kann mich da derzeit nicht reinvertiefen, aber beim Aufzeichnen der Setzung einer bedingten Formatierung erhält man die spezifischen Befehle/Eigenschaften für die Farben, die bei der bedingten Formatierung eine Rolle spielen. Hab das vor langer Zeit mal eruiert, aber wieder vergessen,
Also: Aufzeichnen der Festlegung einer bedingten Formatierung (gleich zweite und dritte Regel mit, des Verständnisses wegen) und Auswertung der Aufzeichnung durchführen.
Das geht mit bedingter Formatierung nicht. Mit VBA wäre es eine Zeile
Sub farbe()
Range(Cells(4, 1), Cells(56, 1)).Interior.Color = Cells(3, 1).Interior.Color
End Sub