Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Hintergrund bei Exceldiagramm mit bedingter Formatierung?





Frage

Hallo zusammen, gibt es eine Möglichkeit, den Hintergrund eines Exceldiagramms zu steuern? Ich habe ein Liniendiragramm, bei dem 2 Werte dargestellt werden (sprich 2 Linien). Nun soll, wenn die eine Linie unterhalb der anderen liegt, der Hintergrund rot sein, wenn er im Umkreis von 3% liegt gelb und wenn er überhalb liegt dann grün sein. Geht das irgendwie? Vielen Dank im Voraus für Eure Bemühungen!!!

Antwort 1 von coros

Hallo Lipo,

meines Wissens nach geht das nicht mit der bedingten Formatierung.
Aber man kann da mit VBA nachhelfen. NAchfolgend mal ein VBA-Code, der die Zellen A2 und B2 gegeneinander prüft und entsprechenden Vorgaben den Hintergrund im Diagramm ändert. Wenn der Wert aus Zelle B2 kleiner dem Wert von A2 dann Hintergrundfarbe rot, wenn B2 größer A2, dann Hintergrund grün und wenn B2 im Bereich von 3% des Wertes von Zelle A2, dann Hintergund Grün.

Kopiere das Makro in das VBA-Projekt des Tabellenblattes, in dem sich das Diagramm befindet.
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Const Diagrammname = "Diagramm 4"

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Diagramm As Chart
Set Diagramm = ActiveSheet.ChartObjects(Diagrammname).Chart
'Wert in Zelle B2 ist der Ausgangspunkt, der zu ZElle A2 verglichen werden soll
Select Case Range("B2")

'Is < Range("A2") bedeutet, das Zelle B2 kleiner Zelle A2, Hintergrund rot
Case Is < Range("A2")
Diagramm.PlotArea.Interior.ColorIndex = 3

'Is Is< Range("B2") < ((Range("A2") * 3) / 100) + Range("A2") bedeutet, _
 das Zelle B2 kleiner der Summe von 3% des Wertes aus Zelle A2 _
 , Hintergrund gelb
Case Is < ((Range("A2") * 3) / 100) + Range("A2")
Diagramm.PlotArea.Interior.ColorIndex = 6

'Is > Range("A2") bedeutet, das Zelle B2 größer Zelle A2, Hintergrund grün
Case Is > Range("A2")
Diagramm.PlotArea.Interior.ColorIndex = 50

End Select
End Sub


Du musst in der Zeile

Const Diagrammname = "Diagramm 4"

den Namen "Diagramm 4" gegen den Namen Deines Diagramms tauschen.

Ich hoffe, Du kommst klar.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.