Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

mehrere If-Abfragen in einem Tabellenblatt-Code
#1
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ß
Antworten Top
#2
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
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.
Antworten Top
#4
Hallöchen,

kein Problem. Hauptsache gelöst Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste