Wechsel Scheibe Farbe ein Kreisdiagramm in excel-VBA

Zunächst schrieb ich eine Funktion, die ändert sich das Aussehen von einer Reihe von pie-charts nach vorgegebenen Farbthemen

    Function GetColorScheme(i As Long) As String
Const thmColor1 As String = "C:\Program Files\Microsoft Office\Document Themes 14\Theme Colors\Blue Green.xml"
Const thmColor2 As String = "C:\Program Files\Microsoft Office\Document Themes 14\Theme Colors\Orange Red.xml"
    Select Case i Mod 2
        Case 0
            GetColorScheme = thmColor1
        Case 1
            GetColorScheme = thmColor2
    End Select
End Function

Jedoch, die Pfade sind nicht konstant und ich würde gerne definieren jedes Kreisdiagramm-Scheibe auf seine eigene, indem Sie eine rgb-Farbe.
Ich fand hier auf stackoverflow in einem previosu Thema (Wie VBA verwenden, um die Farbe Kreisdiagramm) Möglichkeit zum ändern der Farbe von jedem Stück ein Kreisdiagramm

aber ich weiß nicht Ding wie implementieren Sie den code in der Funktion erwähnt. Könnte ich möglicherweise schreiben

    Function GetColorScheme(i As Long) As String

    Select Case i Mod 2
        Case 0
            Dim clr As Long, x As Long

For x = 1 To 3
    clr = RGB(0, x * 8, 0)
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Points(x)
        .Format.Fill.ForeColor.RGB = clr
    End With
Next x
        Case 1
            Dim clr As Long, x As Long

For x = 1 To 3
    clr = RGB(0, x * 8, 0)
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Points(x)
        .Format.Fill.ForeColor.RGB = clr
    End With
Next x
    End Select
End Function

Die Funktion ist mit der wichtigste Teil des Skripts (das ist)

For Each rngRow In Range("PieChartValues").Rows
chtMarker.SeriesCollection(1).Values = rngRow
ThisWorkbook.Theme.ThemeColorScheme.Load GetColorScheme(thmColor)
chtMarker.Parent.CopyPicture xlScreen, xlPicture
lngPointIndex = lngPointIndex + 1
chtMain.SeriesCollection(1).Points(lngPointIndex).Paste
thmColor = thmColor + 1

wo die Linie

 ThisWorkbook.Theme.ThemeColorScheme.Load GetColorScheme(thmColor) 

wird der Wert der Funktion (siehe erste bit der code - der ursprünglichen Funktion), aber jetzt ich don#t mehr haben, thmColor variable definiert und nicht Ding wie am besten implementieren Sie den code in der Funktion Teil

InformationsquelleAutor Timon Heinomann | 2013-06-30

Schreibe einen Kommentar