0

以下のコードを参照してください。

Sub CreatePieCharts()

'Declare the variables

    Dim wks As Worksheet
    Dim AddtionalCharts As Chart
    Dim MySeries As Series
    Dim Rng As Range
    Dim CatRange As Range
    Dim SourceRange As Range
    Dim SourceData As Range
    Dim LeftPos As Double
    Dim TopPos As Double
    Dim Gap As Integer
    Dim i As Long
    Dim j As Long
    Dim k As Long

    'Set the range for the source data from the active worksheet
    Set Rng = Range("A1").CurrentRegion

    'Set the position of the first chart
    LeftPos = Range("M3").Left
    TopPos = Range("M3").Top

    'Set the gap between charts
    Gap = 5

    'Set the range for the category values
    For j = 1 To Rng.Columns.Count
        For i = 2 To Rng.Columns.Count

            If j Mod 2 = 1 And i Mod 2 = 0 Then _
                Set SourceData = Union(Rng.Columns(j), Rng.Columns(i))

            'Create the pie charts

            Set AddtionalCharts = ActiveSheet.Shapes.AddChart.Chart
            With AddtionalCharts
                .SetSourceData SourceData, xlColumns
                .ChartType = xlPie
                .ApplyDataLabels xlDataLabelsShowValue, False
                .Parent.Left = LeftPos
                .Parent.Top = TopPos
                TopPos = TopPos + .Parent.Height + Gap
            End With
        Next i
    Next j

End Sub

基本的に、マクロは列をループして、列の偶数または奇数の状態に基づいてグラフを作成する必要があります。例: Chart1 と Answer 1 は 1 つのチャートである必要があり、Chart2 と Answer2 は次のチャートである必要があります。

現在、グラフを作成できますが、何らかの理由で、必要のないことを示す他の追加のグラフがいくつかあります。私は何を間違っていますか?

4

1 に答える 1