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

Forumthread: Diagrammpunkt Farbe in Abhängigkeit ändern

Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 10:29:53
A.Appel
Hallo,
ich habe folgendes Problem:
Ich habe eine Datenliste und zwei Diagramme mit gestapelten Balken.
Für die Stapeldiagramme gibt es auf einem anderen Registerblatt zwei Bereiche mit "WENN" Formeln die mir meine Datenliste so legen, dass die beiden Diagramme korrekt angezeigt werden.
Wenn jetzt ein Benutzer in einer Zelle hinter der Datenliste etwas ändert wird zuerst die entsprechende Farbe der Zeile angepasst, ein Diagramm verschiebt ein Element seines Stapelbalkens in eine andere Reihe. Hier wird die Farbe übernommen da die ganze Reihe dieselbe Farbe hat.
ABER:
Beim zweiten Diagramm müsste sich nur dieses eine Element ändern, momentan laufe ich mit zwei Schleifen über alle Series und deren Points drüber und passe die Farben an. Das dauert natürlich entsprechend bei ca. 8 Reihen mit je ca. 10 (eher mehr) Stapelelementen.
Im Prinzip brauche ich folgendes:
ActiveChart.SeriesCollection(i).Points(p).Interior.Color.RGB = RGB(R,G,B)
Und dabei i und p vorbelegt in Abhängigkeit meiner Range-Änderungsbereichsüberwachung-
Wie bekomm ich das hin?

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 10:37:12
Beverly
Hi,
und wo liegt das Problem, wenn dir die Nummer der Datenreihe und die Nummer des Punktes bekannt sind? Dann brauchst du doch keine 2 Schleifen sondenr kannst den Punkt direkt ansprechen.


AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 11:13:27
A.Appel
Na ich kenne ja mein i und p nicht, das gilt es ja herauszufinden!
Ich bekomme den Bezug Quelldaten zu Diagramm nicht hin. Egal welche Werte ich ihm berechnen lasse und für i und p übergebe (z.B. 1 und 5) er änder mir immer nur das Stapelelement links unten (dürfte das erste sein)

Anzeige
AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 11:42:12
Beverly
Hi (dies ist die Anrede im Beitrag, am besten mit einem Namen),
(hier steht der Beitragstext)
anhand der geänderten Zelle im Tabellenblatt weißt du doch, für welchen Datenpunkt die Änderung erfolgt ist. Mehr kann ich dazu leider nicht sagen, da ich deine Mappe nicht kenne.
(und zum Schluss des Beitrages steht ein Gruß mit einem Namen)


Anzeige
AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 12:03:19
A.Appel
Hi,
Sorry dieses "Forum" oder wie auch immer man diese Form nennt ist extrem ungewohnt - abgesehen davon kenne ich es nicht so förmlich von anderen Foren her...ich spreche ja auch niemanden konkret an.
Habe mal das ganze nachgebildet: https://www.herber.de/bbs/user/92100.xlsx
Alles ausser dem gelben Bereich wird berechnet, nur dort finden Änderungen statt die sich auf die Diagramme auswirken sollen. Die umgelegten Datenbereiche für die Diagramme erzeuge ich mit "WENN" Bezügen.
Wie bekomme ich jetzt z.B. die Nummer von dem Roten Bereich im Blauen Bereich heraus um nur diesen auch Blau zu machen (wenn sich seine Zahl entsprechend ändert) und nicht mit einer Schleife über alle Elemente laufen zu müssen?
VG Andreas
(Ob eine Standardsignatur jetzt besser ist als gar kein Gruß lasse ich mal dahingestellt...wenn man Wert auf soetwas legt sollte man es groß und offensichtlich hinschreiben.)

Anzeige
AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 12:23:06
Beverly
Hi Andreas,
Zitat:

...ich spreche ja auch niemanden konkret an.
Im Eröffnungsbeitrag ist das selbstverständlich korrekt, aber wenn bereits jemand geantwortet hat, dann sollte es kein Problem sein, diese Person konkret anzusprechen.
Und was generell die Verfahrenweise beim Umgang miteinander in diesem Forum betrifft - dann kann man das durchaus erkennen, wenn man mal ein paar (andere) Beiträge liest...
In deiner Mappe kann ich keinerlei Abhängigkeiten durch Formeln erkennen. Ich kann auch nicht nachvollziehen, wie sich irgendeine Farbe ändert. Code gibt es in deiner Mappe ebenfalls nicht. Wie soll man denn konkret helfen können, wenn die hochgeladene Mappe nicht den tatsächlichen Bedingugnen entspricht? Sorry, da muss ich leider passen.


Anzeige
AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 12:51:10
A.Appel
Hi Karin,
Habe mal die WENN Abfragen ergänzt. Makros sind bewusst keine dabei, denn der eine Teil (Das Diagramm mit den Kategorien) funktioniert ja und würde nur verwirren und der andere Teil funktioniert eben nicht und besteht aus chaotischen Versuchen/Codeschnipseln das ganze zum Laufen zu bekommen.
https://www.herber.de/bbs/user/92103.xlsx
Wenn du jetzt bei einem die Kategorie änderst (von 1 auf 2 z.B.) sollte im Diagramm mit den Ordnungen der Stapel der geändert wurde seine Farbe ändern. (und zwar ohne eine Schleife über alle Balkenelemente zu laufen) Das ist die Grundaufgabe.
Vielleicht hast du eine andere Idee wie man das umsetzen kann?
Grüße
Andreas

Anzeige
AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 13:13:52
Beverly
Hi Andreas,
wenn ich z.B. D17 auf 2 ändere, dann ändert sich im Diagramm die Säule "Kategorie 2" dahingehend, dass sie nun aus einer roten (unteren) und einer gelben (oberen) Teilsäule besteht - ist das nicht dein Ziel? Sonst verstehe ich leider nicht, was du erreichen willst.


Anzeige
AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 13:17:52
A.Appel
Hi Karin,
habe gerade herausgefunden: Ändert man die Farbe manuell wechselt sie von "Automatisch" auf "Einfarbig" und der von dir genannte Effekt tritt auf.
Ändert man die Farbe per Makro bleibt sie auf "Automatisch" und der Effekt tritt nicht ein.
Allerdings wollte ich den Effekt nicht im Diagramm mit den 3 Kategorien sondern mit den 3 Ordnungen! Dort müsste dann der Block der entsprechenden Höhe die Farbe haben die er in "Kategorie" hat.
Beispiel ist D25, dieser ist Rot und unter Kategorie 1. dann sollte er mit seiner Höhe 3 im Stapel Ordnung 3 aber auch rot sein!
Grüße
Andreas

Anzeige
AW: Diagrammpunkt Farbe in Abhängigkeit ändern
14.08.2014 14:48:41
Beverly
Hi Andreas,
leider ist mir immer noch nicht 100% klar, was du erreichen willst. Was ich aus deinem Beitrag interpretiert habe, habe ich mal in Code umgesetzt:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intReihe As Integer
Select Case Target.Address(False, False)
Case "D17"
intReihe = 1
Case "D18"
intReihe = 2
Case "D20"
intReihe = 3
Case "D21"
intReihe = 4
Case "D23"
intReihe = 5
Case "D24"
intReihe = 6
Case "D25"
intReihe = 7
End Select
With ActiveSheet.ChartObjects(2).Chart
With .SeriesCollection(intReihe).Interior
Select Case Target
Case 1
.Color = 255
Case 2
.Color = 49407
Case 3
.Color = 6299648
End Select
End With
End With
End Sub
Wenn also in D17, D18, D20, D21, D23-D25 der Eintrag geändert wird, wird auch der betreffende Säulenabschnitt in der Farbe abhängig von der eigentragenen Zahl (1 = Rot, 2 = Hellocker, 3 = Dunkelblau) gefärbt.


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagrammpunkt Farbe in Abhängigkeit ändern


Schritt-für-Schritt-Anleitung

  1. Identifiziere die Datenpunkte: Du musst die Nummer der Datenreihe und den Punkt kennen, den du ändern möchtest. Dies kannst du durch die Überwachung von Änderungen in den Zellen erreichen.

  2. VBA-Code verwenden: Nutze den folgenden VBA-Code, um die Farbe eines bestimmten Diagrammpunkts in Abhängigkeit von einem Zellwert zu ändern:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim intReihe As Integer
       Select Case Target.Address(False, False)
           Case "D17": intReihe = 1
           Case "D18": intReihe = 2
           ' Weitere Fälle hier hinzufügen
       End Select
    
       With ActiveSheet.ChartObjects(1).Chart
           With .SeriesCollection(intReihe).Points(Target.Row - 16).Interior
               Select Case Target.Value
                   Case 1: .Color = RGB(255, 0, 0) ' Rot
                   Case 2: .Color = RGB(255, 255, 0) ' Gelb
                   Case 3: .Color = RGB(0, 0, 255) ' Blau
               End Select
           End With
       End With
    End Sub
  3. Diagramm anpassen: Stelle sicher, dass du die richtigen Diagrammobjekte ansprichst, um die excel diagramm punkte farbe ändern zu ermöglichen.


Häufige Fehler und Lösungen

  • Automatische Farbänderung: Wenn sich die excel diagramm farben ändern sich automatisch, überprüfe, ob du die Farbe manuell oder per Makro änderst. Manuelle Änderungen können dazu führen, dass die Einstellung auf „Einfarbig“ wechselt.

  • Falsche Bezugnahme: Achte darauf, dass du im Code die richtigen Zellreferenzen verwendest. Ein häufiger Fehler ist das Ansprechen falscher Zellen, was zu unerwarteten Ergebnissen führt.

  • Keine Änderungen sichtbar: Wenn du die Farben nicht siehst, stelle sicher, dass du den richtigen Diagrammtyp (z.B. Blasendiagramm) verwendest, und dass die Daten korrekt verknüpft sind.


Alternative Methoden

  • Datenpunkte manuell ändern: Du kannst die Farben der Datenpunkte manuell ändern, indem du mit der rechten Maustaste auf den Punkt klickst und „Datenpunkt formatieren“ wählst. Dies ist jedoch nicht effizient, wenn du viele Punkte hast.

  • Bedingte Formatierung: Eine weitere Möglichkeit besteht darin, die bedingte Formatierung in Excel zu nutzen, um die Farben basierend auf den Zellwerten zu ändern. Diese Methode bietet jedoch weniger Flexibilität in Diagrammen.


Praktische Beispiele

  • Blasendiagramm mit Farben nach Wert: Wenn du ein excel blasendiagramm farbe nach wert erstellen möchtest, kannst du die oben genannten VBA-Skripte verwenden, um die Farben der Blasen dynamisch zu ändern.

  • Einen Diagrammhintergrund ändern: Um den excel diagramm hintergrund ändern, klicke mit der rechten Maustaste auf den Diagrammhintergrund und wähle „Hintergrund formatieren“.


Tipps für Profis

  • Verwende Named Ranges: Mit benannten Bereichen kannst du deine Datenquelle flexibler gestalten, und es wird einfacher, auf sie in deinem VBA-Code zuzugreifen.

  • Optimierung des Codes: Reduziere die Laufzeit deines Codes, indem du die Schleifen minimierst. Nutze direkte Zuweisungen, um die excel datenpunkte form ändern effizient zu gestalten.

  • Testen und Debuggen: Verwende die Debugging-Tools in VBA, um sicherzustellen, dass dein Code wie gewünscht funktioniert. Überprüfe, welche Werte in i und p gesetzt werden, um sicherzustellen, dass die richtigen Punkte angesprochen werden.


FAQ: Häufige Fragen

1. Wie ändere ich die Farbe eines bestimmten Diagrammpunkts?
Du kannst die Farbe eines Diagrammpunkts ändern, indem du den richtigen VBA-Code verwendest, um die Interior.Color des entsprechenden Punktes anzupassen.

2. Warum ändern sich die Diagrammfarben automatisch?
Diagrammfarben ändern sich automatisch, wenn die Datenbasis aktualisiert wird und die Formatierung auf „Automatisch“ gesetzt ist. Um dies zu verhindern, ändere die Formatierung auf „Einfarbig“ durch VBA.

3. Wie finde ich die richtige Datenreihe für mein Diagramm?
Du kannst die richtige Datenreihe finden, indem du die SeriesCollection und die Points entsprechend der Position der Daten in deiner Tabelle ansprichst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige