использование VBA для круговой диаграммы в Excel

Мой код

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

Код предназначен для изменения цветовой темы последовательных круговых диаграмм, которые используются в виде пузырьков в пузырьковой диаграмме. Так что функция предназначена только для выбора цветовой схемы, которую я ранее сохранил как строку, а затем изменить ее в соответствии с запуском сценария, чтобы первый круг имел другой цвет, чем следующий круговой график .... Я получаю сообщение об ошибке при отладке кода в строке

ThisWorkbook.Theme.ThemeColorScheme.Load GetColorScheme (thmColor)

сообщение об ошибке - ошибка времени выполнения 2147024809, в которой говорится, что указанное значение выходит за пределы допустимого диапазона. Кто-нибудь может мне помочь, в чем здесь проблема?

И можно ли каким-либо образом интегрировать отображение круговых компонентов (название компонентов, указанное в заголовке столбца на каждой круговой диаграмме, которое затем переносится на пузырьковую диаграмму?

Ответы на вопрос(1)

Ваш ответ на вопрос