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

Forumthread: Blasendiagramm Farben nach Zellinhalt

Blasendiagramm Farben nach Zellinhalt
24.03.2022 11:21:37
mb12
Hallo liebe Diagramm-Spezialisten,
da ich bisher einen groooßen Umweg um Diagramme gemacht habe, scheitere ich an der automatischen Anpassung der Farbe von Datenpunkten in Bubble-Diagrammen je nach Zellinhalt (als bedingte Formatierung angelegt)
"Prio 1" = grün
"Prio 2" = gelb
"Prio 3" = rot
Die Farben der restlichen Blasen bleiben unverändert. Am liebsten wäre mir eine VBA-Lösung, aber auch Formeln wären ein Weg.
Ich habe euch ein anonymisierte Datei beigefügt:
https://www.herber.de/bbs/user/152011.xlsm
Lieben Dank für eure Unterstützung,
Margarete
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA-Lösung
24.03.2022 12:39:38
Beverly
Hi Margarete,
per Formel lassen sich Datenpunkte nicht so ohne Weiteres färben, das wäre - wenn überhaupt - nur mit sehr großem Aufwand und einer umfangreichen Hilfstabelle lösen. Mit VBA dagegen ist das nur ein kleiner Aufwand:

Sub BlasenFaerben()
Dim strX As String
Dim lngPunkt As Long
Dim serReihe As Series
Dim rngZellen As Range
With ActiveSheet.ChartObjects(1).Chart
Set serReihe = .SeriesCollection(1)
strX = Split(serReihe.Formula, ",")(1)
Set rngZellen = Range(strX).Offset(0, 5)
For lngPunkt = 1 To serReihe.Points.Count
If rngZellen.Cells(lngPunkt) Like "Prio*" Then
serReihe.Points(lngPunkt).Interior.Color = _
rngZellen.Cells(lngPunkt).DisplayFormat.Interior.Color
End If
Next lngPunkt
End With
End Sub
Bis später
Karin

Anzeige
AW: Blasendiagramm Farben nach Zellinhalt
24.03.2022 12:40:52
Nepumuk
Hallo Margarete,
teste mal:

Option Explicit
Public Sub SetChartColors()
Dim objPoint As Point
Dim avntTemp As Variant
Dim lngRow As Long
For Each objPoint In ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Points
avntTemp = Split(objPoint.DataLabel.Formula, "$")
lngRow = CLng(avntTemp(UBound(avntTemp)))
If Cells(lngRow, 16).Text Like "Prio #" Then
objPoint.Format.Fill.ForeColor.RGB = Cells(lngRow, 16).DisplayFormat.Interior.Color
End If
Next
End Sub
Gruß
Nepumuk
Anzeige
AW: Blasendiagramm Farben nach Zellinhalt
24.03.2022 13:01:10
mb12
Hallo liebe Karin + Max,
ich habe jetzt ein Luxusproblem: Innerhalb weniger Sekunden habe ich von euch je ein perfektes Makro erhalten.
So, und nachdem ich beide getestet habe, bleibt mir nur übrig zu würfeln, welches ich verwenden werde.
Kommentar meines Kollegen: "Da hätte ich Tage gebraucht, bis ich das zustande gebracht hätte" - dem kann ich nur zustimmen.
Habt ganz herzlichen Dank!!!!!
LG Margarete
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Farben von Blasendiagramm-Datenpunkten an Zellinhalt anpassen


Schritt-für-Schritt-Anleitung

Um die Farben von Datenpunkten in einem Blasendiagramm (oder Bubble-Diagramm) in Excel automatisch an den Zellinhalt anzupassen, kannst Du die folgende VBA-Lösung verwenden. Diese Methode ist besonders effektiv, wenn Du verschiedene Farben für unterschiedliche Prioritäten (z.B. "Prio 1", "Prio 2", "Prio 3") festlegen möchtest.

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Einfügen eines neuen Moduls: Klicke im Menü auf Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code und füge ihn in das Modul ein:

    Sub BlasenFaerben()
        Dim strX As String
        Dim lngPunkt As Long
        Dim serReihe As Series
        Dim rngZellen As Range
        With ActiveSheet.ChartObjects(1).Chart
            Set serReihe = .SeriesCollection(1)
            strX = Split(serReihe.Formula, ",")(1)
            Set rngZellen = Range(strX).Offset(0, 5)
            For lngPunkt = 1 To serReihe.Points.Count
                If rngZellen.Cells(lngPunkt) Like "Prio*" Then
                    serReihe.Points(lngPunkt).Interior.Color = _
                    rngZellen.Cells(lngPunkt).DisplayFormat.Interior.Color
                End If
            Next lngPunkt
        End With
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus: Drücke ALT + F8, wähle BlasenFaerben aus und klicke auf Ausführen.

Jetzt sollten die Datenpunkte in Deinem Blasendiagramm die jeweiligen Farben gemäß den Zellinhalten übernehmen.


Häufige Fehler und Lösungen

  • Fehler: Das Diagramm aktualisiert sich nicht.

    • Lösung: Stelle sicher, dass das Makro auf das richtige Diagramm angewendet wird. Überprüfe die Diagrammnummer in ChartObjects(1) und passe sie an, falls nötig.
  • Fehler: Die Farben werden nicht korrekt übernommen.

    • Lösung: Überprüfe, ob die Zellinhalte den richtigen Bedingungen (z.B. "Prio 1", "Prio 2") entsprechen und ob die Zellen die entsprechenden Farben haben.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du versuchen, die Farben manuell anzupassen. Eine weitere Option ist, die Bedingte Formatierung zu verwenden, um die Zellen zu färben und die Diagrammfarbe manuell zuzuordnen. Allerdings ist dies in der Regel aufwändiger und weniger flexibel.

Eine weitere Möglichkeit ist die Verwendung von Hilfstabellen, um die Farben zu definieren und dann in das Diagramm zu übernehmen, was jedoch ebenfalls komplex sein kann.


Praktische Beispiele

  • Beispiel 1: Du hast ein Blasendiagramm, das verschiedene Verkaufsregionen darstellt. Nutze die Prioritäten, um hohe Verkaufszahlen (z.B. "Prio 1") grün, mittlere (z.B. "Prio 2") gelb und niedrige (z.B. "Prio 3") rot darzustellen.

  • Beispiel 2: In einem Projektmanagement-Diagramm kannst Du Aufgaben farblich kennzeichnen, um den Status (z.B. "In Bearbeitung", "Fertig", "Verzögert") visuell hervorzuheben.


Tipps für Profis

  • Nutze benutzerdefinierte Farbpaletten in Excel, um einen einheitlichen Look für Deine Diagramme zu gewährleisten.
  • Experimentiere mit den Diagrammformatierungen, um die Lesbarkeit zu verbessern (z.B. durch das Hinzufügen von Datenbeschriftungen).
  • Halte Deine VBA-Codes modular, um die Wiederverwendbarkeit zu erhöhen.

FAQ: Häufige Fragen

1. Kann ich die Farben eines Balkendiagramms auch an Zellinhalte anpassen?
Ja, die Methode ist ähnlich. Du kannst VBA verwenden, um die Farben von Balken in einem Excel Diagramm nach Wert oder Kategorie anzupassen.

2. Welche Excel-Versionen unterstützen diese VBA-Funktionalität?
Die VBA-Makros funktionieren in den meisten modernen Excel-Versionen, einschließlich Excel 2016 und Excel 365. Stelle sicher, dass Makros in Deinen Excel-Einstellungen aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige