生成图表excel vba时,下标超出范围错误

时间:2017-07-25 05:42:37

标签: excel vba

我正在生成包含数据透视表数据的折线图。图表生成但会引发错误'下标超出范围'在下面的代码中。

.SetSourceData Source:=Sheets("PivotData").Range(Cells(5, 1), Cells(29, 8))

这是我的代码

Dim co1 As ChartObject
Set co1 = PivotDays.ChartObjects.Add(Left:=Cells(2, 11).Left, Width:=Range("b2:h2").Width, _
Top:=Cells(21, 2).Top, Height:=Range("b2:b18").Height)


    With co1.Chart
        .ChartType = xlLine
        .Location Where:=xlLocationAsObject, Name:="PivotDays"
        '.SetSourceData Source:=Sheets("PivotData").Range("A5:H28")
        .SetSourceData Source:=Sheets("PivotData").Range(Cells(5, 1), Cells(29, 8))
    End With

我无法弄清楚为什么?请提出任何建议

1 个答案:

答案 0 :(得分:0)

错误很可能是因为工作表PivotData不是活动工作表。无论如何,不​​依赖于活动表,限定Cells

.SetSourceData Source:=Sheets("PivotData").Range(Sheets("PivotData").Cells(5, 1), Sheets("PivotData").Cells(29, 8))

更简单,您可以改为提供地址:

.SetSourceData Source:=Sheets("PivotData").Range("A5:H29")