2014-10-08 81 views
-1

我有一張表格,其中包含多個需要放入圖表的不斷變化的數據透視表。我需要一個宏來查找每個數據透視表併爲它們創建圖表。這是我到目前爲止。它所做的只是基於第一個數據透視表創建圖表。一些,因爲它從不同的表變爲表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'ing計算器不會讓我的任何意見作出迴應的引用留下來回答這個問題,這是牛市$擊中。但無論如何,這些表都被唯一地命名爲pivottable1 pivottable2等。因此,無論是索引還是使用pivottablename都沒有區別。

+0

你傳遞了​​唯一的索引值(i)嗎? – 2014-10-12 21:39:38

回答

0

命名錶並傳遞表名稱而不是索引號。

Set chartTable = ActiveSheet.PivotTables(ptTableN)