VBA Excel 在特定工作表的特定位置创建图表

VBA Excel to Create Chart on a particular location of a particular worksheet

我有一个创建 charts.I 的代码想要在名为 "Charts" 的特定工作表上创建此图表,并具有特定位置 A5:F18。我的代码如下:

Sub Macro1()
    Dim i As Long

        Range("B5:E5").Offset(i).Select
        With ActiveSheet.Shapes.AddChart
            With .Chart
                .ChartType = xlColumnClustered
                .SetSourceData Source:=Range("Pivot!$A:$E").Offset(i)
                .SeriesCollection(1).ApplyDataLabels
                .SeriesCollection(2).ApplyDataLabels
                .SeriesCollection(3).ApplyDataLabels
                .ShowValueFieldButtons = False
                .HasTitle = True
                .ChartTitle.Text = "Consolidated"

                End With
                .Name = "chart" & Format(i + 1, "000")
                .Width = 288
                .LockAspectRatio = msoTrue
            End With
End Sub

我无法在具有此特定位置的特定工作表上创建该图表。怎么做?

你可以试试这个:

    With ActiveSheet.Shapes.AddChart
        With .Chart
            .ChartType = xlColumnClustered
            .SetSourceData Source:=Range("Pivot!$A:$E").Offset(i)
            .SeriesCollection(1).ApplyDataLabels
            .SeriesCollection(2).ApplyDataLabels
            .SeriesCollection(3).ApplyDataLabels
            .ShowValueFieldButtons = False
            .HasTitle = True
            .ChartTitle.Text = "Consolidated"
        End With

        .Name = "chart" & Format(i + 1, "000")
        .Top = Range("Pivot!$A:$F").Top
        .Left = Range("Pivot!$A:$F").Left
        .Width = Range("Pivot!$A:$F").Width
        .Height = Range("Pivot!$A:$F").Height
        .LockAspectRatio = msoTrue
    End With