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

Forumthread: Diagramm in Vorlage ändert die Farbe von Werten

Diagramm in Vorlage ändert die Farbe von Werten
24.02.2014 13:00:01
Werten
Hallo,
ich habe folgendes Problem: Ich habe mit Excel 2010 eine Excel-Datei erstellt (vorlage.xlsm) in der einige Tabellenblätter sind, die aus Pivottabellen und Charts bestehen. Ich kopiere aus einer anderen Tabelle (die jeden Tag neu erzeugt wird, mit geänderten Werten!) meine "Rohdaten" in die Vorlage und lasse ein Makro laufen, welches mir die verschiedenen Tabellenblätter formatiert und die Pivottabellen und Charts aktualisiert. Dann wird die Mappe unter anderem Dateinamen abgespeichert. Dies funktioniert auch in der Ideal-Version: Dort gibt es z.B im Blatt "table_prio" in der Pivot-Tabelle die Spaltenbeschriftung "Offen", "in Arbeit", "erledigt" und "geschlossen" in der Kombination mit der Priorität. Im Chart gibt es ein Säulendiagramm, dem folgende Farben zugeordnet sind: "Offen = rot", "in Arbeit = gelb", "erledigt = hellgrün" und "geschlossen = dunkelgrün". Dieses Diagramm ist als Vorlage gespeichert und diese wird während des Makros auch explizit zugewiesen. Wenn ich jetzt neue "Rohdaten" in die Vorlage kopiere und es keine Einträge "Offen" und "Erledigt" gibt, wird im Chart die Farbe bei "In Arbeit" auf "hellgrün" gesetzt. Wie kann ich erreichen, dass bei "In Arbeit" (etc.) IMMER gelb gesetzt wird?
Gruß Franz

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm in Vorlage ändert die Farbe von Werten
24.02.2014 16:35:09
Werten
Hallo Franz,
da wird dir nichts anderes übrig bleiben, als per Makro die Farbe der Datenreihe auf Basis des Namens oder einer anderen Eigenschaft der Datenreihen festzulegen. Das Makro kannst du dann an die Aktualisierung des Pivotberichtes koppeln.
Gruß
Franz
'Makro unter dem Tabellenblatt mit dem Pivotbericht
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Call prcFormatDiagramm(objChart:=Me.ChartObjects(1).Chart) 'Chart entsprechend festlegen
End Sub
'Makro in einem allgemeinen Modul (z.B. wenn mehrere Diagramme bearbeitet werden sollen) oder  _
auch unter dem Tabellenblatt.
Public Sub prcFormatDiagramm(objChart As Chart)
Dim objReihe As Series, farbe As Long
With objChart
For Each objReihe In .SeriesCollection
farbe = 0
Select Case objReihe.Name
Case "erledigt"
farbe = VBA.RGB(0, 255, 0)
Case "geschlossen"
farbe = VBA.RGB(0, 126, 0)
Case "in Arbeit"
farbe = VBA.RGB(255, 255, 0) 'gelb
Case "Offen"
farbe = VBA.RGB(255, 0, 0)
End Select
If farbe  0 Then
objReihe.Format.Fill.ForeColor.RGB = farbe
End If
Next
End With
End Sub

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagrammfarben in Excel-Vorlagen festlegen


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass die Farben in deinem Excel-Diagramm auf Basis der Werte immer korrekt übernommen werden, kannst du ein Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Vorlage (z.B. vorlage.xlsm) und gehe zum Visual Basic for Applications (VBA) Editor. Dies kannst du erreichen, indem du Alt + F11 drückst.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf einen der Objekte im Projektfenster und wähle Einfügen > Modul.

  3. Füge den folgenden VBA-Code ein:

    'Makro unter dem Tabellenblatt mit dem Pivotbericht
    Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
       Call prcFormatDiagramm(objChart:=Me.ChartObjects(1).Chart) 'Chart entsprechend festlegen
    End Sub
    
    'Makro in einem allgemeinen Modul
    Public Sub prcFormatDiagramm(objChart As Chart)
       Dim objReihe As Series, farbe As Long
       With objChart
           For Each objReihe In .SeriesCollection
               farbe = 0
               Select Case objReihe.Name
                   Case "erledigt"
                       farbe = VBA.RGB(0, 255, 0)
                   Case "geschlossen"
                       farbe = VBA.RGB(0, 126, 0)
                   Case "in Arbeit"
                       farbe = VBA.RGB(255, 255, 0) 'gelb
                   Case "Offen"
                       farbe = VBA.RGB(255, 0, 0)
               End Select
               If farbe <> 0 Then
                   objReihe.Format.Fill.ForeColor.RGB = farbe
               End If
           Next
       End With
    End Sub
  4. Schließe den VBA-Editor und speichere deine Änderungen.

  5. Teste die Funktion: Aktualisiere deine Pivottabelle und überprüfe, ob die Diagrammfarben entsprechend den definierten Werten korrekt übernommen werden.


Häufige Fehler und Lösungen

  • Fehler: Diagrammfarben ändern sich automatisch.

    • Lösung: Stelle sicher, dass das Makro korrekt an die Aktualisierung der Pivottabelle gekoppelt ist. Überprüfe, ob die Namen der Datenreihen exakt übereinstimmen.
  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Prüfe, ob die Makros in deinen Excel-Einstellungen aktiviert sind. Du findest dies unter Datei > Optionen > Trust Center.

Alternative Methoden

Falls du keine Makros verwenden möchtest, gibt es auch die Möglichkeit, die Farben direkt in den Diagrammeinstellungen von Excel festzulegen.

  1. Klicke auf das Diagramm und wähle die Datenreihe aus.
  2. Gehe zu Diagrammtools > Format und wähle die gewünschte Farbe manuell aus.
  3. Du kannst auch die Datenreihen formatieren-Option nutzen, um spezifische Farben für jede Datenreihe auszuwählen.

Praktische Beispiele

Ein Beispiel für die Verwendung eines Blasendiagramms:

  1. Erstelle ein Blasendiagramm, in dem die Größe der Blasen je nach Wert variiert.
  2. Verwende das oben genannte Makro, um die Farben entsprechend den Werten in deiner Tabelle festzulegen.

Tipps für Profis

  • Diagrammvorlagen verwenden: Speichere dein Diagramm als Vorlage, um die gleichen Formatierungen und Farben für zukünftige Daten zu nutzen. Du kannst dies tun, indem du mit der rechten Maustaste auf das Diagramm klickst und Diagrammvorlage speichern auswählst.

  • Wenn-Dann-Diagramme: Überlege, wie du die WENN-Funktion nutzen kannst, um dynamisch verschiedene Diagramme zu erstellen, die je nach den Daten unterschiedliche Farben verwenden.


FAQ: Häufige Fragen

1. Wie kann ich die Farben in einem bestehenden Diagramm ändern?
Du kannst die Farben entweder manuell über die Diagrammtools oder automatisiert durch ein Makro ändern, das die Farben nach Wert anpasst.

2. Funktioniert das Makro auch in neueren Excel-Versionen?
Ja, das Makro sollte auch in Excel 2013 und späteren Versionen problemlos funktionieren, solange die VBA-Umgebung zugänglich ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige