Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Farbe von höchsten Wert in einem Diagramm ändern?

Farbe von höchsten Wert in einem Diagramm ändern?
05.11.2004 09:53:56
höchsten
Hi an alle,
nach langem suchen in der Recherche, wo ich aber nicht fündig geworden bin, hab ich da mal wieder eine kurze Frage. Ich habe ein Diagramm mit 2 Datenreihen. Ist es nun via VBA möglich, jeweils den höchsten und den niedrigsten Datenpunkt der Datenreihe in einer anderen Farbe anzeigen zu lassen? Wie ich einer gesamten Datenreihe die Farbe über einen VBA Code ändern kann, habe ich gefunden, nicht aber wie man eben nur bei den jeweils größten und kleinsten Datenpunkt die Farbe ändern kann. Ich hoffe, dass das überhaupt machbar ist. Hoffentlich hat dann auch noch jemand einen Lösungsvorschlag für mich, wäre super.
Danke schon mal allen, die mir einen Lösungsansatz geben im Voraus,
Oliver
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbe von höchsten Wert in einem Diagramm ändern?
05.11.2004 10:02:29
höchsten
Hallo Oliver,
das kannst Du auch relativ einfach mit der bedingten Formatierung erreichen:
erste Bedingung: Formel ist - =ZS=MIN(S)
zweite Bedingung: Formel ist - =ZS=MAX(S)
Gruß
Lars
AW: Farbe von höchsten Wert in einem Diagramm ändern?
höchsten
Interessant wäre zu wissen, Diagramm in Tabelle oder Diagrammsheet. Soll das automatisch
passieren oder per Buttonklick?
Bert
Anzeige
AW: Farbe von höchsten Wert in einem Diagramm ändern?
höchsten
Hi Bert,
danke Dir erst einmal für Deine Antwort, auch wenn es ja streng gesehen, eine Frage ist. Das Diagramm befindet sich in einem Tabellenblatt und ist vom Typ her ein Punktdiagramm. Eigentlich wäre es schön, wenn das über ein Worksheet_Change Ereignis erledigt würde. Gibt es da eine Chance, dass so was funktioniert?
@Lars: Danke auch Dir für die Lösung allerdings benötige ich eine VBA Lösung.
Gruß,
Oliver
Anzeige
AW: Farbe von höchsten Wert in einem Diagramm ändern?
höchsten
"danke Dir erst einmal für Deine Antwort, auch wenn es ja streng gesehen, eine Frage ist"
Willst du hier Erbsen zählen oder eine Lösung? Wenn das Problem nicht genau beschrieben ist, sind Rückfragen kaum zu vermeiden.
Schau mal in die Recherche Thema Diagramm, da sind einige Beispiele von K.Rola zur bedingten Formatierung von Diagrammen.
Bert
Anzeige
AW: Farbe von höchsten Wert in einem Diagramm ändern?
05.11.2004 10:48:07
höchsten
Hallo Oliver,
so geht's:


Private Sub Worksheet_Change(ByVal Target As Range)
    Dim varArray As Variant, objSeries As Series, intIndex As Integer
    Application.ScreenUpdating = False
    ActiveSheet.ChartObjects("Diagramm 2").Activate 'Name anpassen!!
    Set objSeries = ActiveChart.SeriesCollection(1)
    varArray = objSeries.Values
    For intIndex = LBound(varArray) To UBound(varArray)
        With objSeries.Points(intIndex)
            .MarkerBackgroundColorIndex = 2
            If varArray(intIndex) = WorksheetFunction.Max(varArray) Then .MarkerBackgroundColorIndex = 4
            If varArray(intIndex) = WorksheetFunction.Min(varArray) Then .MarkerBackgroundColorIndex = 3
        End With
    Next
    Target.Activate
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
Super Nepumuk, danke Dir!
Oliver
Hi Nepumuk,
danke Dir für die wieder einmal hervorragende Lösung. Sie funktioniert super.
Gruß,
Oliver
@Bert: Ich weiß jetzt ehrlich gesgt nicht, an welcher Stelle in meiner Antwort ich Dir auf den Schlips getreten. Aber wenn Du so reagierst, wird es sicherlich an irgend einer Stelle der Fall gewesen sein und dafür möchte ich mich entschuldigen. :-(
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Farbe von höchsten Wert in einem Excel-Diagramm ändern


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und erstelle ein Punktdiagramm oder ein Balkendiagramm mit deinen Daten.

  2. Aktiviere den VBA-Editor: Drücke ALT + F11.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Dokument)", gehe zu "Einfügen" und wähle "Modul".

  4. Füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim varArray As Variant, objSeries As Series, intIndex As Integer
       Application.ScreenUpdating = False
       ActiveSheet.ChartObjects("Diagramm 2").Activate ' Name anpassen!!
       Set objSeries = ActiveChart.SeriesCollection(1)
       varArray = objSeries.Values
       For intIndex = LBound(varArray) To UBound(varArray)
           With objSeries.Points(intIndex)
               .MarkerBackgroundColorIndex = 2 ' Standardfarbe
               If varArray(intIndex) = WorksheetFunction.Max(varArray) Then .MarkerBackgroundColorIndex = 4 ' Höchster Wert
               If varArray(intIndex) = WorksheetFunction.Min(varArray) Then .MarkerBackgroundColorIndex = 3 ' Niedrigster Wert
           End With
       Next
       Target.Activate
       Application.ScreenUpdating = True
    End Sub
  5. Schließe den VBA-Editor und kehre zu deinem Arbeitsblatt zurück.

  6. Teste die Änderungen: Ändere einen Wert in deinem Diagramm und beobachte, wie die Farben sich automatisch anpassen.


Häufige Fehler und Lösungen

  • Diagramm wird nicht aktualisiert: Stelle sicher, dass der Name des Diagramms im Code (Diagramm 2) korrekt ist.
  • VBA-Funktion nicht aktiv: Überprüfe, ob Makros in deinen Excel-Einstellungen aktiviert sind.
  • Farbe ändert sich nicht: Prüfe die Werte in deiner Datenreihe. Der Code funktioniert nur, wenn es sowohl einen höchsten als auch einen niedrigsten Wert gibt.

Alternative Methoden

Eine Möglichkeit, die Farben in deinem Diagramm anzupassen, ist die Verwendung der bedingten Formatierung:

  1. Wähle die Datenreihe in deinem Diagramm aus.
  2. Klicke mit der rechten Maustaste und wähle "Datenreihen formatieren".
  3. Im Abschnitt "Farbe" kannst du manuell eine Farbe nach Wert auswählen, aber dies ist weniger dynamisch.

Praktische Beispiele

Wenn du beispielsweise ein Excel Balkendiagramm verwendest und die höchsten Werte hervorheben möchtest, kannst du den oben genannten Code entsprechend anpassen. Du kannst auch die Markerfarben ändern, um Unterschiede zwischen den Werten klarer darzustellen.

Für ein Excel Punktdiagramm kannst du den gleichen Ansatz verwenden, um die Punkte nach Wert zu färben. Der Code bleibt unverändert, da die Logik für beide Diagrammtypen funktioniert.


Tipps für Profis

  • Experimentiere mit verschiedenen Farben und Marker-Stilen im VBA-Code, um deine Diagramme noch ansprechender zu gestalten.
  • Verwende die Funktion Worksheet_Change, um andere dynamische Anpassungen vorzunehmen, die auf Benutzereingaben reagieren.
  • Denke daran, die Hintergrundfarbe deines Diagramms anzupassen, um die Sichtbarkeit der hervorgehobenen Werte zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die Farben in einem Diagramm manuell ändern? Du kannst die Farben ändern, indem du mit der rechten Maustaste auf die Datenreihe klickst und "Datenreihen formatieren" wählst.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, vorausgesetzt, dass die Makro-Einstellungen korrekt konfiguriert sind.

3. Kann ich die Farben für mehr als nur den höchsten und niedrigsten Wert ändern? Ja, du kannst den Code anpassen, um auch andere Bedingungen für die Farbänderung festzulegen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige