VBA复制数据透视表在同一工作表中并使用它

时间:2013-04-24 10:20:40

标签: excel-vba copy-paste pivot-table vba excel

您好我正在复制我在同一张纸上的数据透视表,我想通过更改一些项目来使用复制的数据透视表。问题是当我复制数据透视表时,如何识别新的透视表名称以使用它?

我的主要目标是在同一工作表上创建多个数据透视表。 Pivot向导不允许我这样做。

我的代码:

        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

1 个答案:

答案 0 :(得分:0)

在一行wsPivotStats.Paste后使用

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