Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Diagramm Kreisalken basierend auf Zellfarbe färben

Forumthread: Diagramm Kreisalken basierend auf Zellfarbe färben

Diagramm Kreisalken basierend auf Zellfarbe färben
24.07.2024 15:44:00
demme1991
Hallo liebes Forum,

Ich bin absolut neu hier und hoffe ich kann verständlich rüber bringe, wobei ich Hilfe bräuchte.
Ich möchte in meiner Tabelle ein Kreisdiagramm, das seine Balken basierend auf den jeweiligen Zellfarben einfärbt.
Ich habe in meinem Fall aktuell 2 Zeilen (14 & 15) mit je 2 Spalten (D14, E14 & D15, E15). Wobei Immer nur die Zellen der Spalte 14 eingefärbt werden und deren Farbe soll dementsprechend ins Diagramm übernommen werden , Spalte 15 sowie dessen Kreisbalken soll ohne Farbe bleiben.

Im Forum habe ich eine VBA finden können, welche mir ansatzweise geholfen hat. Damit kann ich allerdings nur beide Kreisbalken (also für Spalte E&F) einfärben, statt nur E. Weiters wollte ich dann eben den 2. Kreisbalken in der Farbe von Zeile 15 Färben.

Hier meine Beispieldatei wo einmal mein Diagramm mit VBA einfärbung zu finden ist und einmal jenes, wie ich es mir vorstellen würde

https://www.herber.de/bbs/user/171233.xlsm

Ich hoffe auf eure Hilfe und schon mal Danke ;)
LG
Dennis
Anzeige
AW: Diagramm Kreisalken basierend auf Zellfarbe färben
24.07.2024 16:13:00
demme1991
Zudem habe ich noch vergessen, die Farbe der Zelle sollte bestenfalls durch eine bedingte Formatierung vorgegeben werden.
Also z.B. 1-33 = rot, 34-66 = gelb, 67-100 hellgrün

LG
Dennis
AW: Diagramm Kreisalken basierend auf Zellfarbe färben
24.07.2024 16:24:21
peter
Hallo

Wenn Du die Farbe der bedingetn Formatierung haben willst, musst Du meinen Code folgendermaßen ändern




chDiagramm.SeriesCollection(1).Points(1).Interior.ColorIndex = Cells(14, 5).DisplayFormat.Interior.ColorIndex



Peter
Anzeige
AW: Diagramm Kreisalken basierend auf Zellfarbe färben
24.07.2024 16:16:39
peter
Hallo

Fürs Chart



Sub DatenreihenFaerben()
Dim chDiagramm As Chart
Dim inReihe As Integer
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart

With chDiagramm
chDiagramm.SeriesCollection(1).Points(1).Interior.ColorIndex = Cells(14, 5).Interior.ColorIndex
chDiagramm.SeriesCollection(1).Points(2).Interior.ColorIndex = Cells(14, 6).Interior.ColorIndex
chDiagramm.SeriesCollection(2).Points(1).Interior.ColorIndex = Cells(15, 5).Interior.ColorIndex
chDiagramm.SeriesCollection(2).Points(2).Interior.ColorIndex = Cells(15, 6).Interior.ColorIndex
End With

Set chDiagramm = Nothing
End Sub


Peter

Anzeige
VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
25.07.2024 08:32:05
Beverly
Hi Dennis,

hier noch eine andere Möglichkeit, bei der die Farbe nicht aus den im Code festgelegten Zellen genommen wird, denn falls sich diese mal ändern sollten, müsstest du das auch im Code ändern. Der folgende Code ermittelt die Zelladressen der Datenquelle aus den Datenreihen des Diagramms selbst:

Sub DatenpunkteFaerben()

Dim chDiagramm As Chart
Dim inReihe As Integer
Dim strQuelle As String
Set chDiagramm = Worksheets("Schlaf").ChartObjects(1).Chart
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
.SeriesCollection(inReihe).Interior.ColorIndex = xlNone
strQuelle = .SeriesCollection(inReihe).Formula
strQuelle = Split(strQuelle, ",")(2)
.SeriesCollection(inReihe).Points(1).Interior.Color = Range(strQuelle).Cells(1).DisplayFormat.Interior.Color
Next inReihe
End With
Set chDiagramm = Nothing
End Sub


Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
29.07.2024 12:41:53
demme1991
Hallo,

Vielen herzlichen Dank euch!!

Kann man den Code auch so ändern bzw. einen weiteren einfügen, dass sich der Code automatisch bei Änderung der Zellen D9 bis I9 startet? Ich möchte, dass bei Wertänderung in den besagten Zellen auch die jeweilige Farbe der bedingten Formatierung in E14/15 mit ins Diagramm kommt, ohne dass ich den Code manuell starten muss.

Danke vielmals
Anzeige
AW: VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
29.07.2024 13:49:31
peter
Hallo

Den Code im Tabellenblatt Tabelle1 einfügen (nicht in Modul1 !)



Private Sub Worksheet_Calculate()
DatenreihenFaerben
End Sub


Peter
AW: VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
29.07.2024 14:14:11
demme1991
Hallo Peter!

Danke dir! Funktioniert!

Habe es inzwischen selbst auch hinbekommen, hat auch funktioniert, bei mir hat das so ausgesehen: Ich habe den code auch in Tabellenblatt Tabelle1 eingefügt
Deiner ist allerding einfacher und nicht an eine Zelle gebunden ;)



Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D9:I9")) Is Nothing Then Exit Sub
Call Modul1.DatenpunkteFaerben
End Sub



Nun habe ich bemerkt, dass "Rückgängig" mit den von der Makro betroffenen Zellen nicht mehr funktioniert, damit muss man dann einfach leben schätze ich?

Danke & LG
Anzeige
AW: VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
29.07.2024 14:20:40
Beverly
Hi,

eine per VBA ausgeführte Veränderung im Tabellenblatt kann mit der Excel-internen Funktion "Rückgängig" NICHT wieder rückgängig gemacht werden - das geht dann nur wiederum mittels VBA.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
29.07.2024 14:34:21
demme1991
Verstehe, danke!!

Eine Frage/ Bitte habe ich auch noch, im Diagramm habe ich nun Beschriftungen + Werte eingefügt, da habe ich noch 2 Problemchen:
1. Hätte ich sehr gern, dass auch hier die Schriftfarbe laut der bed. Formatierung angepasst wird
2. Wäre toll, wenn die Beschriftung bei Änderung der Ergebnisse (z.B. Rcovery 70 auf 50) nicht im Diagramm herum wandern würde. Das Problem hatte ich noch nie bei einem Diagramm, ist mir neu...

Nochmal die Datei
https://www.herber.de/bbs/user/171324.xlsm

Danke & LG
Anzeige
AW: VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
29.07.2024 16:26:21
Beverly
Hi,

dass die Beschriftung "herumwandert" ist eine ganz logische und folgerichtige Sache, denn du benutzt die Datenbeschriftung von 2 Datenpunkten und die Datenbeschriftung "wandert" nunmal tatsächlich immer - und zwar so, dass sie sich stets gegenüber der Mitte des jeweiligen Datenpunktes (Kreissegments) befindet - das ist nichts Besonderes und auch nichts Neues sondern bei einem Diagramm ganz normal.
Wenn du möchtest, dass deine "Beschriftung" stationär, also unabhängig von der Position der Mitte der Kreissegemente positioniert bleibt, dann darfst du nicht die Datenbeschriftung verwenden sondern musst 2 Textfelder aus den Formen einfügen und sie mit einer Zelle verknüpfen, in der sich der anzuzeigende Text befindet - im Anhang sind das Zelle I14 und I15, in denen Text und Wert, verbunden durch einen Zeilenumbruch, zusammengefügt sind.

Die beiden Textfelder habe ich mit Farbe "Keine Füllung" formatiert, wodurch die Farbe der Zeichenfläche sichtbar ist. Die Rahmen dagegen habe ich belassen, sodass du erkennen kannst, wo genau sich die Textfelder befinden und wie groß sie sind. Die Konturen kannst du noch auf "Keine Kontur" setzen damit sie ebenfalls nicht mehr sichtbar sind.

https://www.herber.de/bbs/user/171325.xlsm

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
31.07.2024 10:37:08
demme1991
Hi Karin,

Vielen Dank für die Hilfe! Das mit dem Textfeld war dann auch mein nächster Gedanke ;)
Dieses File ist eine Erweiterung zu einem größeren mit welchem ich es dann auch verbinden möchte. Aktuell ist nur eine Zelle daraus verbunden, es werden aber wahrscheinlich noch mehrere dazu kommen.
Problem ist da, dass ich jetzt die Fehlermeldung "Laufzeitfehler 9: Index ausserhalb des gültigen Bereichs" bekomme. Ich dachte erst, es sei ein Problem der Datei- bzw. Blattnamen, allerdings konnte ich es damit auch nicht beheben.

Ich füge meine "Hauptdatei" mal hier an, am Ende soll das Blatt der vorherigen Datei hier integriert oder als separates Blatt hinzugefügt werden. vielleicht kann mir auch dazu noch jemand weiter helfen. Danke vielmals

https://www.herber.de/bbs/user/171368.xlsx
Anzeige
AW: VBA: Diagramm Kreissegmente basierend auf Zellfarbe färben
31.07.2024 13:12:54
Beverly
Hi,

da musst du schon mal sagen, in welcher Code-Zeile der Fehler kommt und wäre es nicht sinnvoller, die Datei hier anzuhängen, in der der Fehler auftritt...?
Und was hat das mit der hochgeladenen Datei zu tun?

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
;

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