Hallo,
ich benötige "dringend" eure Hilfe. Ich habe durch das Internet einen Code gefunden - und den auch etwas angepasst - der automatisch die Farben für die Diagramme anhand von Bedingt Formatierter Zellen ändert.
Problem ist, dass dieser Code alle Diagramme ändert, aber ich nur ausgewählte Diagramme ändern möchte.
Das ist der jetzige VBA-Code:
Sub cellcolorstochart2()
Dim ochart As ChartObject
Dim myseries As Series
Dim formulasplit As Variant
Dim sourerange As Range
Dim sourcerangecolor As Long
Dim numberofdatapoints As Long
Dim ipoint As Long
'Loop through all charts in the active sheet
For Each ochart In ActiveSheet.ChartObjects
'loop through all series in the target chart
For Each myseries In ochart.Chart.SeriesCollection
numberofdatapoints = myseries.Points.Count
For ipoint = 1 To numberofdatapoints
'get source data range for the target series
formulasplit = Split(myseries.Formula, ",")
'capture the first cell in the source range then trap the color
Set SourceRange = Range(formulasplit(2)).Item(ipoint)
'sourcerangecolor = SourceRange.Interior.Color
'if coloring without conditional formatting
'Set SourceRange = Range(formulasplit(2)).Item(ipoint)
sourcerangecolor = SourceRange.DisplayFormat.Interior.Color
On Error Resume Next
'Coloring for Excel 2003
'myseries.Interior.Color = sourcerangecolor
'myseries.Border.Color = sourcerangecolor
'myseries.MarkerBackgroundColorIndex = sourcerangecolor
'myseries.MarkerForegroundColorIndex = sourcerangecolor
'Coloring for Excel 2007 and 2010
myseries.Points(ipoint).MarkerBackgroundColor = sourcerangecolor
myseries.Points(ipoint).MarkerForegroundColor = sourcerangecolor
'myseries.Points(ipoint).Format.Line.ForeColor.RGB = sourcerangecolor
'myseries.Points(ipoint).Format.Line.BackColor.RGB = sourcerangecolor
myseries.Points(ipoint).Format.Fill.ForeColor.RGB = sourcerangecolor
'myseries.Points(ipoint).Format.Line.ForeColor.RGB = sourcerangecolor
Next
Next myseries
Next ochart
End Sub
Ich bräuchte aber einen Code, der nur bestimmte Diagramme ändert und nicht alle in dem Sheet. Es gibt natürlich die Möglichkeit, die Daten, auf denen die Diagramme zugreifen, in ein Separate Seite zu übertragen, aber das würde jegliche Übersichtlichkeit zerstören.
Danke schonmal :)
|