[英]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.