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

Diagramm formatieren

Forumthread: Diagramm formatieren

Diagramm formatieren
Andi
Hallo Forum,
Drei Säulen grün (Improving), blau (No Change), rot (Worsening) werden als Pivot Diagramm abgebildet.
Sind für eine Säule Daten nicht vorhanden, werden die horizontalen Beschriftungen an der x Achse neu angeordnet und die Hintergrundfarbe der Balken verändert.
Alles kein Thema, via VBA die Farben zu setzen. Nur, ich kann den Namen bzw. den XValue der Säule nicht auslesen?
Ich habe es mit Points(n).? gekennzeichnet.
Thx Andi
Set oDia = ThisWorkbook.Sheets("Charts").ChartObjects("Diagramm 5")
For i = 1 To oDia.Chart.SeriesCollection.Count
For n = 1 To oDia.Chart.SeriesCollection(i).Points.Count
Select Case oDia.Chart.SeriesCollection(i).Points(n).?
Case "IMPROVING"
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Visible = msoTrue
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.ForeColor.RGB = RGB(0, 176, 80)
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Transparency = 0
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Solid
Case "No Change"
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Visible = msoTrue
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Transparency = 0
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Solid
Case "WORSENING"
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Visible = msoTrue
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Transparency = 0
oDia.Chart.SeriesCollection(i).Points(n).Format.Fill.Solid
End Select
Next
Next
Set oDia = Nothing
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Diagramm formatieren
05.12.2011 17:43:07
Beverly
Hi Andi,
Falls du dich auf die Datenreihenbeschriftung beziehen willst, dann kannst du dies verwenden:
Select Case oDia.Chart.SeriesCollection(i).Points(n).DataLabel.Text

Bei Bezug auf den X-Wert ginge es nach diesem Prinzip (ungetestet):
    Dim arrX_Werte() As Variant
arrX_Werte() =  oDia.Chart.SeriesCollection(i).XValues
For i = 1 To oDia.Chart.SeriesCollection.Count
For n = 1 To oDia.Chart.SeriesCollection(i).Points.Count
Select Case arrX_Werte(n)
End Select
Next n
Next n



Anzeige
AW: Diagramm formatieren
06.12.2011 11:05:20
Andi
Hallo Karin,
vielen Dank für Deinen Beitrag. Kann heute Deine Methode nicht umsetzen, aber morgen werde ich Dir berichten, ob es seinen Zweck erfüllt hat. Vielen Dank.
Gruß Andi
AW: Diagramm formatieren
09.12.2011 08:45:29
Andi
Hi Karin, Deine Methode funktioniert einwandfrei. Danke. Gruß Andi
;

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