0

私のコードは

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 で、示された値が範囲外であることを示しています。

また、円グラフ コンポーネント (バブル グラフに転送される各円グラフの列の先頭に示されたコンポーネントの名前) の表示を統合する方法はありますか?

4

1 に答える 1