VBA 复制数据透视表

dan*_*lee 1 vba pivot-table

您好,我想将我的数据透视表复制到另一张纸上。但是存在对象不支持此属性或方法的错误

Sub Project1()
Dim Table1 As PivotTable

Set Table1 = Worksheets("Bklg Pivot").PivotTables("PivotTable2")
Table1.Copy Destination:=ThisWorkbook.Sheets("Table2").Range("A1")


End Sub
Run Code Online (Sandbox Code Playgroud)

QHa*_*arr 5

PivotTable对象没有Copy方法,这就是您的尝试失败的原因。文档中列出了可用的方法。

您可以使用TableRange2源的属性PivotTable进行复制,因为这会返回一个Range具有Copy方法的对象。下面是一个示例,其中我将 a 复制PivotTable到同一张纸中的另一个范围。

TableRange2:返回一个 Range 对象,该对象表示包含整个数据透视表(包括页面字段)的范围。只读。

Sub CopyPivot()

    Dim pvt As PivotTable

    With ThisWorkbook.Worksheets("Sheet1")

        Set pvt = .PivotTables("PivotTable1")

        pvt.TableRange2.Copy .Range("E1") 'copy to another area within same sheet

   End With

End Sub
Run Code Online (Sandbox Code Playgroud)