数据透视表图表宏

时间:2014-10-08 19:10:21

标签: excel excel-vba pivot vba

我有一张工作表,其中包含多个不断变化的数据透视表,我需要将其放入图表中。我需要一个宏来查找每个数据透视表并为它们创建图表。这是我到目前为止所拥有的。它所做的只是基于第一个数据透视表数据创建一个图表。引用的数字从1到2变为3等,因为它从不同的表到表

Sub CreateChart(i, v, SheetName)
Dim objPivot As PivotTable, objPivotRange As Range, objChart As chart

If ActiveSheet.PivotTables.Count = 0 Then Exit Sub
Set objPivot = ActiveSheet.PivotTables(i)

Set objChart = Charts.Add

Set objPivotRange = objPivot.TableRange1

 With objChart
.SetSourceData objPivotRange
.ChartType = xl3DColumn
.Legend.Delete
.ApplyDataLabels
.Location xlLocationAsNewSheet, SheetName & " Chart"
End With

ActiveWorkbook.ShowPivotTableFieldList = False
ActiveWorkbook.ShowPivotChartActiveFields = False

End Sub

所以F&stack; stackoverflow不会让我回答任何留下来回答这个问题的评论。但无论如何,这些表都被唯一地命名为pivottable1 pivottable2等。因此,无论是索引还是使用pivottablename都没有区别。

1 个答案:

答案 0 :(得分:0)

为表命名并传递表名而不是索引号。

Set chartTable = ActiveSheet.PivotTables(ptTableN)