从数据透视表创建图表

时间:2017-08-22 09:53:29

标签: excel vba excel-vba

我有一张表,我有两个数据透视表。我试图为数据透视表生成两个不同的图表。

我尝试了以下代码,但我得到了

  

自动化错误

  

.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

0 个答案:

没有答案
相关问题