26.03.2020, 16:59
Hallo,
folgendes Problem bekomme ich nicht gelöst.
ich habe in einem Tabellenblatt mehrere Diagramme mit Textfeldern. Jedes Diagramm erstellt sich aus einer eigenen Datentabelle die ebenfalls alle im Datenblatt sind.
ich möchte jetzt mehrere If-Abfragen im Tabellenblatt einbetten:
Wenn der Wert in L7 <46 ist dann soll sich das Textfeld 7 auf Diagramm1 rot färben. Ist der Wert in L7 zwischen 46 und 53, dann orange und bei allen höheren Werte soll sich das Textfeld grün färben. Das Textfeld soll sich automatisch anpassen sobald ein Wert geändert wird. Hierzu hatte ich folgenden Code eingesetzt womit das auch ganz gut funktioniert:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("L7") < 46 Then
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.Shapes.Range(Array("Textfeld 7")).Fill.ForeColor.RGB = RGB(255, 0, 0) 'rot
Else
If Range("L7") < 53 Then
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.Shapes.Range(Array("Textfeld 7")).Fill.ForeColor.RGB = RGB(255, 192, 0) 'orange
Else
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.Shapes.Range(Array("Textfeld 7")).Fill.ForeColor.RGB = RGB(0, 176, 80) 'grün
End If
End If
End Sub
Jetzt möchte ich das selbe Prinzip für Diagramm 2 und dessen Textfeld 8 anwenden, jedoch mit anderen Wertgrenzen. Das ganze soll sich auf Zelle X7 beziehen. Ich hatte hierzu versucht den bisherigen Code nach End if erneut einzufügen und anzupassen, war aber wohl falsch, da nur die erste If-Abfrage (also für L7) funktioniert. Textfeld 8 in Diagramm 2 verändert sich nicht. Habs mehrmals überprüft, verschiedene Sachen ausprobiert und im Internet recherchiert. check aber nicht was ich hier falsch mache. Wahrscheinlich nur ne Kleinigkeit die ein Anfänger nicht kennt.
Insgesamt sollen nach diesem Prinzip 4 Abfragen stattfinden. Also vier Textfelder, jedes auf einem anderen Diagramm und mit einem anderen Zellbezug aber alle im selben Tabellenblatt.
Ich hoffe ich hab das so verständlich beschrieben und hoffe dass mir jemand helfen kann.
Danke und Gruß
folgendes Problem bekomme ich nicht gelöst.
ich habe in einem Tabellenblatt mehrere Diagramme mit Textfeldern. Jedes Diagramm erstellt sich aus einer eigenen Datentabelle die ebenfalls alle im Datenblatt sind.
ich möchte jetzt mehrere If-Abfragen im Tabellenblatt einbetten:
Wenn der Wert in L7 <46 ist dann soll sich das Textfeld 7 auf Diagramm1 rot färben. Ist der Wert in L7 zwischen 46 und 53, dann orange und bei allen höheren Werte soll sich das Textfeld grün färben. Das Textfeld soll sich automatisch anpassen sobald ein Wert geändert wird. Hierzu hatte ich folgenden Code eingesetzt womit das auch ganz gut funktioniert:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("L7") < 46 Then
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.Shapes.Range(Array("Textfeld 7")).Fill.ForeColor.RGB = RGB(255, 0, 0) 'rot
Else
If Range("L7") < 53 Then
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.Shapes.Range(Array("Textfeld 7")).Fill.ForeColor.RGB = RGB(255, 192, 0) 'orange
Else
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.Shapes.Range(Array("Textfeld 7")).Fill.ForeColor.RGB = RGB(0, 176, 80) 'grün
End If
End If
End Sub
Jetzt möchte ich das selbe Prinzip für Diagramm 2 und dessen Textfeld 8 anwenden, jedoch mit anderen Wertgrenzen. Das ganze soll sich auf Zelle X7 beziehen. Ich hatte hierzu versucht den bisherigen Code nach End if erneut einzufügen und anzupassen, war aber wohl falsch, da nur die erste If-Abfrage (also für L7) funktioniert. Textfeld 8 in Diagramm 2 verändert sich nicht. Habs mehrmals überprüft, verschiedene Sachen ausprobiert und im Internet recherchiert. check aber nicht was ich hier falsch mache. Wahrscheinlich nur ne Kleinigkeit die ein Anfänger nicht kennt.
Insgesamt sollen nach diesem Prinzip 4 Abfragen stattfinden. Also vier Textfelder, jedes auf einem anderen Diagramm und mit einem anderen Zellbezug aber alle im selben Tabellenblatt.
Ich hoffe ich hab das so verständlich beschrieben und hoffe dass mir jemand helfen kann.
Danke und Gruß