Verwenden von VBA für ein Kreisdiagramm in Excel

Mein Code ist

Sub PieMarkers()

Dim chtMarker As Chart
Dim chtMain As Chart
Dim intPoint As Integer
Dim rngRow As Range
Dim lngPointIndex As Long
Dim thmColor As Long
Dim myTheme As String


Application.ScreenUpdating = False
Set chtMarker = ActiveSheet.ChartObjects("chtMarker").Chart
Set chtMain = ActiveSheet.ChartObjects("chtMain").Chart

Set chtMain = ActiveSheet.ChartObjects("chtMain").Chart
Set rngRow = Range(ThisWorkbook.Names("PieChartValues").RefersTo)

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
Next

lngPointIndex = 0

Application.ScreenUpdating = True
End Sub

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
        Case 0
            GetColorScheme = thmColor1
        Case 1
            GetColorScheme = thmColor2
    End Select
End Function

Der Code soll das Farbschema von aufeinanderfolgenden Kreisdiagrammen ändern, die als Blasen in einem Blasendiagramm verwendet werden. Die Funktion ist also nur dazu gedacht, ein Farbschema auszuwählen, das ich zuvor als Zeichenfolge gespeichert habe, und es dann entsprechend der Ausführung des Skripts zu ändern, sodass der erste Kreis eine andere Farbe als das nächste Kreisdiagramm hat eine Fehlermeldung beim Debuggen des Codes in der Zeile

ThisWorkbook.Theme.ThemeColorScheme.Load GetColorScheme (thmColor)

Die Fehlermeldung lautet Laufzeitfehler 2147024809 und besagt, dass der angegebene Wert außerhalb des zulässigen Bereichs liegt. Kann mir jemand helfen, was hier das Problem zu sein scheint?

Und gibt es eine Möglichkeit, die Anzeige der Tortenkomponenten zu integrieren (die Namen der Komponenten, die im Kopf der Spalte in jedem Tortendiagramm angegeben sind, das dann in das Blasendiagramm übertragen wird)?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage