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

Probleme mit Pivot und Farben - Code optimieren?

Forumthread: Probleme mit Pivot und Farben - Code optimieren?

Probleme mit Pivot und Farben - Code optimieren?
Julia
Hallo,
ein Pivot wird ja bei der Aktualisierung immer neu gezeichnet. Wenn ich Farben vergebe werden diese immer verloren gehen.
Ist es möglich diese fest zu vergeben?
Siehe Bsp xls hier:
https://www.herber.de/bbs/user/64321.zip
Das ich Code definiere:
Leer = gelb
Verschoben = lila
Offen = rot
In Arbeit = blau
Erledigt = grün
Egal wie die Pivot aussieht sollen diese Farben fest vergeben werden. Alos wenn nur „Offen“ angezeigt wird soll dieses rot sein. Auch wenn man die Anordnung ändert in der Pivot soll die Farbe fest bleiben. D.h. „Offen“ ist immer rot egal wo es steht in der Pivot (Am Anfang oder Ende)
Habe es mit diesem Codeschnipsel versucht:
Sub farbe1()
Sheets("Tabelle1").Select 'Name des Tabellenblatts
Dim s As Series, i As Long
ActiveSheet.ChartObjects("Diagramm 1").Activate 'Name des Diagramms
i = 1
For Each s In ActiveChart.SeriesCollection
Select Case i
Case 1
s.Interior.ColorIndex = 49
Case 2
s.Interior.ColorIndex = 1
Case 3
s.Interior.ColorIndex = 55
Case 4
s.Interior.ColorIndex = 56
Case 5
s.Interior.ColorIndex = 52
Case 6
s.Interior.ColorIndex = 53
End Select
If i = 6 Then i = 1 Else i = i + 1
Next s
End Sub
Aber sobald ich die Reihenfolge ändere oder nicht alles angezeigt wird verschieben sich die definierten Farben. Jemand eine Idee das fest zuzuordnen?
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Probleme mit Pivot und Farben - Code optimieren?
11.09.2009 15:12:40
fcs
Hallo Julia,
du kannst die Farbe über den Namen der Datenreihen zuordnen.
Um die Zuornung des Diagramms im Code zu vereinfachen hab ich noch eine Worksheet- und Chart-Variable eingeführt
Gruß
Franz
Sub farbe1()
Dim s As Series, i As Long, objChart As Chart, wks As Worksheet
Set wks = ActiveWorkbook.Sheets("Tabelle1") 'Name des Tabellenblatts
Set objChart = wks.ChartObjects("Diagramm 1").Chart 'Name des Diagramms
i = 1
For Each s In objChart.SeriesCollection
Select Case s.Name
Case "Leer"
s.Interior.ColorIndex = 49
Case "Verschoben"
s.Interior.ColorIndex = 1
Case "Offen"
s.Interior.ColorIndex = 55
Case "In Arbeit"
s.Interior.ColorIndex = 56
Case "Erledigt"
s.Interior.ColorIndex = 52
Case "6"
s.Interior.ColorIndex = 53
Case Else
s.Interior.ColorIndex = xlColorIndexAutomatic
End Select
If i = 6 Then i = 1 Else i = i + 1
Next s
wks.Activate 'Muss zu aktualisierung der Farben nicht sein
End Sub

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