2013-04-24 36 views
0

嗨,我正在複製一個數據透視表,我在同一張表上,我想通過更改某些項目來使用複製的數據透視表。問題是當我複製透視表時,我如何識別新的透視表名稱來使用它?VBA在同一張表中複製數據透視表並使用它

我的主要目標是在同一張工作表上創建多個數據透視表。樞軸嚮導不讓我這樣做。

我的代碼:

 ws.Select 
     TotalColumns = ws.Cells(1, Columns.Count).End(xlToLeft).Column 'Counting total columns 
     TotalRows = ws.Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count 'Counting total rows 
     Set PRange = ws.UsedRange 'found a new function to use do not need to use above fields, but keeping them just incase 
     wsPivotStats.Select 
     Set CreateStatsAppPt = wsPivotStats.PivotTableWizard(SourceType:=xlDatabase, SourceData:=PRange, TableDestination:=wsPivotStats.Range("B4"), TableName:="StatsPt1") 
     Set StatsAppViewPt = wsPivotStats.PivotTables("StatsPt1") 

添加的行和列上表和...

ActiveSheet.PivotTables("StatsPt1").PivotSelect "", xlDataAndLabel, True 
    Selection.Copy 
    wsPivotStats.Range("B22").Select 
    wsPivotStats.Paste 
    Set StatsRevViewPt = wsPivotStats.PivotTables("PivotTable2") 
      StatsRevViewPt.Select 
    With StatsRevViewPt.PivotFields(CaseClas) 
       .Orientation = xlColumnField 
       .Position = 1 
       ' .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _ 
       False, False) 
    End With 
+0

得到它的工作.. 。但不能回答少於8小時的問題:( – 2013-04-24 11:17:38

回答

0

線後wsPivotStats.Paste使用

set StatsRevViewPt= wsPivotStats.PivotTables(wsPivotStats.PivotTables.count)