Hallo,
erstmal danke für die Rückmeldungen. Ich wusste nicht wieviel Infos ihr dafür braucht und ich wollte nicht zu sehr verwirren.
Die Datei ist wie folgt aufgebaut:
Tabellenblatt "Rohdaten":
Hier habe ich insgesamt 7 (Hamburg, Dresden, München, Düsseldorf, Berlin, Leipzig, Bonn) Datenreihen mit Werten über einen Verlauf von 20 Jahren
Tabellenblatt "Auswertung":
In diesem Tabellenblatt habe ich ein Liniendiagramm (der Datenbereich liegt im Tabellenblatt "Auswertung-Daten") angelegt. Ich möchte allerdings nicht, dass alle 7 Datenreihen dargestellt werden, sondern maximal 4. Diese 4 wähle ich über vier Dropdown-Menüs aus (Zelle D5, E5, F5, G5). Ich möchte feste RGB-Werte vergeben, das einlesen in den Code aus einer Matrix ist nicht notwendig.
Tabellenblatt "Auswertung-Daten":
Hier sucht sich Excel über einen direkten Bezug die 4 ausgewählten Datenreihen aus den Dropdown Zellen und anschließend über einen SVERWEIS die entsprechen Daten für den Verlauf von 20 Jahren.
Gemäß euerer Vorschläge habe ich nun folgenden Code gebastelt (mein Diagramm heißt "Diagramm 4", deshalb hab ich ChartObjects(1) in ChartObjects(4) geändert, oder ist das falsch?) und einem Button zugewiesen, doch es passiert nichts. Wo liegt der Fehler? Im fehlenden Else? Kann man den Namen noch dynamisch gestalten, sprich auf einen Zelle verweisen, also anstatt "Hamburg" --> "L4")?
Sub Farben()
'
' Farben Makro
'
Dim i As Integer
For i = 1 To Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection.Count
If Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Name = "Hamburg" Then
Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Border.Color = RGB(153, 102, 51)
End If
If Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Name = "Dresden" Then
Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Border.Color = RGB(255, 117, 219)
End If
If Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Name = "München" Then
Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Border.Color = RGB(159, 95, 207)
End If
If Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Name = "Düsseldorf" Then
Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Border.Color = RGB(255, 192, 0)
End If
If Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Name = "Berlin" Then
Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Border.Color = RGB(226, 107, 10)
End If
If Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Name = "Leipzig" Then
Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Border.Color = RGB(83, 141, 213)
End If
If Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Name = "Bonn" Then
Worksheets("Auswertung").ChartObjects(4).Chart.SeriesCollection(i).Border.Color = RGB(79, 98, 40)
End If
Next
End Sub
Tausend Dank!
|