2

我有一堆带有详细数据集和数据透视表的表格。在摘要表上,我只想显示数据透视表。(当然,我宁愿保持干燥而不是创建一个全新的集合。)如何引用旧的数据透视表?

如有必要,我可以使用 VBA 来执行此操作。

4

1 回答 1

1

此子将保持数据透视表“活动”。如果你不想要的话,你可以在它们上面粘贴值。

Sub SummarizePivotTables()
    Dim wb As Workbook, ws As Worksheet, ss As Worksheet, pt As PivotTable
    Dim pasteRow As Long
    Const rowsBetween As Long = 1

    Set wb = ThisWorkbook
    Set ss = wb.Worksheets("Summary")
    pasteRow = 1 'first table row'

    For Each ws In wb.Worksheets
        For Each pt In ws.PivotTables
            'change this to TableRange1 if you do not want the page field included'
            With pt.TableRange2
                .Copy ss.Range("A" & pasteRow)
                pasteRow = pasteRow + .Rows.Count + rowsBetween
            End With
        Next pt
    Next ws
End Sub
于 2009-10-22T14:38:41.360 回答