我有一张表,我有两个数据透视表。我试图为数据透视表生成两个不同的图表。
我尝试了以下代码,但我得到了
自动化错误
在
行.SetSourceData ptr1
任何人都可以提供帮助,我可以避免这种情况,
这是我的两个图表的代码。另外,我可以使用单个代码,而不是拖曳个别代码吗?
Sub chartG702()
Dim cht As Chart
If ActiveSheet.PivotTables.Count = 0 Then Exit Sub
Set ptable1 = ActiveSheet.PivotTables(1)
Set ptr1 = ptable1.TableRange2
Set sh = ActiveSheet.ChartObjects.Add(Left:=390, _
Width:=390, _
Top:=350, _
Height:=250)
sh.Select
Set cht = ActiveChart
With cht
.SetSourceData ptr1
.ChartType = xlColumnStacked
End With
cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
cht.SeriesCollection(1).HasDataLabels = True '<~~ Red
cht.HasTitle = True
cht.ChartTitle.Text = "M1"
End Sub
我对以下代码没有任何问题。这仅供参考。
Sub chartG70()
Dim cht As Chart
If ActiveSheet.PivotTables.Count = 0 Then Exit Sub
Set ptable = ActiveSheet.PivotTables(2)
Set ptr = ptable.TableRange1
Set sh = ActiveSheet.ChartObjects.Add(Left:=440, _
Width:=390, _
Top:=50, _
Height:=250)
sh.Select
Set cht = ActiveChart
With cht
.SetSourceData ptr
.ChartType = xlColumnStacked
End With
cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(0, 255, 0)
cht.SeriesCollection(1).HasDataLabels = True '<~~ Red
cht.HasTitle = True
cht.ChartTitle.Text = "M"
End Sub