我有一张工作表,其中包含多个不断变化的数据透视表,我需要将其放入图表中。我需要一个宏来查找每个数据透视表并为它们创建图表。这是我到目前为止所拥有的。它所做的只是基于第一个数据透视表数据创建一个图表。引用的数字从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都没有区别。
答案 0 :(得分:0)
为表命名并传递表名而不是索引号。
Set chartTable = ActiveSheet.PivotTables(ptTableN)