簡體   English   中英

Excel 創建pivot表的宏

[英]Excel Macro to create a pivot table

我沒有需要修復的問題,因為我只是通過復制其他人來強制解決它,但我很好奇如何閱讀它以及為什么它與教程顯示的不同:

當我錄制一個宏來創建一個 pivot 表時,它是這樣編碼的(片段):

ActiveWorkbook.Worksheets("TABXXX").PivotTables("PivotTable9"). _
    PivotCache.CreatePivotTable TableDestination:="Sheet1!R3C1", TableName:= _
    "PivotTable2", DefaultVersion:=7

但是每個人都說要有這個(請注意,我更改了源和 pivot 工作表並按照 inte.net 說明計算最后一行 #):

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "'" & dataWS & "'!A1:K" & lastrow, Version:=7).CreatePivotTable TableDestination:= _
    "'" & pivotWS & "'!R3C1", TableName:="PivotTable1", DefaultVersion:=7

為什么我錄制的宏會這樣顯示?

在 Excel 中,pivot 表可以建立在存在於許多不同地方的數據之上。 數據可以位於 Excel 工作表中,也可以位於文本文件中,也可以位於數據庫中。 因此,制作pivot表的第一步是獲取標准格式的數據副本,而不管數據來自哪里。 這就是 PivotCache。 因此,如果您記錄自己從 Excel 中的數據創建第一個 pivot 表,代碼將顯示 PivotCache object 的創建。

ActiveWorkbook.PivotCaches.Create(...

但是,當您在已構建 pivot 緩存的數據上構建后續 pivot 表時,記錄器將識別現有緩存:

ActiveWorkbook.Worksheets("TABXXX").PivotTables("PivotTable9").PivotCache...

這意味着,在 activbe 工作簿中名為“TABXXX”的工作表上找到用於名為“PivotTable9”的 pivot 表的 PivotCache。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM