Clever-Excel-Forum

Normale Version: mehrere If-Abfragen in einem Tabellenblatt-Code
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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ß
Hallöchen,

hast Du den Code auch hinter das letzte End If gesetzt?

Du könntest beim bisherigen Code übrigens auch mit ElseIf arbeiten, im Prinzip

If ... Then
ElseIf … Then
Else
End If
Hallo,

ja das habe ich. hab da auch sämtliche Varianten ausprobiert.

Gruß

Hallo,

aaahhh Fehler gefunden.

durch Zufall hab ich entdeckt dass es noch ein Textfeld mit dem selben Namen gab.

so bescheuert. Sorry.
Hallöchen,

kein Problem. Hauptsache gelöst Smile