Eine Frage noch. Ist eher Kosmetik - aber wenn ich es anpasse, dann doch richtig.
Der Code sieht jetzt so aus und funktioniert einwandfrei.
Problem ist aber, dass die Bezeichnungen der Alternativen in der Praxis überschrieben werden.
Dann heißt die Datenreihe nicht mehr CF a. tax cum.
Case #2, sondern plötzlich CF a. tax cum.
EigenfertigungMein "dummer" Code referenziert aktuell auf fixen Bezeichnungen - was nicht so clever ist.
Wie könnte man auf die Zelle mit der Bezeichnung refernezieren?
Code:
Sub RGB_Farbe()
Dim Farbe As Long, R As Integer, G As Integer, B As Integer
Farbe = 255 'ActiveCell.Interior.Color
R = Farbe And 255
G = (Farbe \ 256) And 255
B = Farbe \ 65536
MsgBox "Rot: " & R & Chr(10) & "Grün: " & G & Chr(10) & "Blau: " & B
End Sub
Sub bbb()
Dim i As Long
With Tabelle11.ChartObjects("Diagramm 11").Chart.SeriesCollection
For i = 1 To .Count
With .Item(i)
Select Case .Name
Case "CF a. tax cum. Case #1 BASE Case", "CF a. tax Case #1 BASE Case", "NPV cum. Case #1 BASE Case"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #2", "NPV cum. Case #2", "CF a. tax cum. Case #2"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #3", "NPV cum. Case #3", "CF a. tax cum. Case #3"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #4", "NPV cum. Case #4", "CF a. tax cum. Case #4"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #5", "NPV cum. Case #5", "CF a. tax cum. Case #5"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #6", "NPV cum. Case #6", "CF a. tax cum. Case #6"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #7", "NPV cum. Case #7", "CF a. tax cum. Case #7"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #8", "NPV cum. Case #8", "CF a. tax cum. Case #8"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #9", "NPV cum. Case #9", "CF a. tax cum. Case #9"
Debug.Print .Fill.ForeColor
Case "CF a. tax Case #10", "NPV cum. Case #10", "CF a. tax cum. Case #10"
Debug.Print .Fill.ForeColor
End Select
End With
Next i
End With
End Sub
Code:
Sub FarbenZuordnen()
Dim i As Long
Dim chartObj As ChartObject
Dim seriesName As String
' Diagramm referenzieren
Set chartObj = Tabelle11.ChartObjects("Diagramm 11")
' Datenreihen durchlaufen
With chartObj.Chart.SeriesCollection
For i = 1 To .Count
seriesName = .Item(i).Name ' Name der Datenreihe
Debug.Print "Datenreihe: "; seriesName ' Ausgabe zur Überprüfung
' Farben und Eigenschaften zuordnen
With .Item(i)
Select Case seriesName
Case "CF a. tax Case #2"
.Format.Fill.ForeColor.RGB = RGB(128, 0, 128) ' Lila
.Format.Line.ForeColor.RGB = RGB(128, 0, 128)
.Format.Line.Weight = 3
Case "CF a. tax cum. Case #1 BASE Case"
.Format.Fill.ForeColor.RGB = RGB(128, 0, 128) ' Lila
.Format.Line.ForeColor.RGB = RGB(128, 0, 128)
Case "NPV cum. Case #2"
.Format.Fill.ForeColor.RGB = RGB(128, 0, 128) ' Lila
.Format.Line.ForeColor.RGB = RGB(128, 0, 128)
.Format.Line.Weight = 3
Case "CF a. tax Case #1 BASE Case"
.Format.Fill.ForeColor.RGB = RGB(128, 0, 128) ' Lila
.Format.Line.ForeColor.RGB = RGB(128, 0, 128)
.Format.Line.Weight = 3
Case "CF a. tax cum. Case #1 BASE Case"
.Format.Fill.ForeColor.RGB = RGB(128, 0, 128) ' Lila
.Format.Line.ForeColor.RGB = RGB(128, 0, 128)
Case "NPV cum. Case #1 BASE Case"
.Format.Fill.ForeColor.RGB = RGB(128, 0, 128) ' Lila
.Format.Line.ForeColor.RGB = RGB(128, 0, 128)
.Format.Line.Weight = 3
Case Else
Debug.Print "Unbekannte Datenreihe: "; seriesName
End Select
End With
Next i
End With
End Sub