【发布时间】:2016-05-05 07:48:27
【问题描述】:
我有一个工作簿,其中有一个 RawData 工作表,还有 8-9 个其他工作表具有从 RawData 读取表的数据透视表。 RawData 每天都在变化,即 RawData 工作表中的行数可能更多或更少。
现在,我使用 Excel 的 ChangeDataSource 功能手动更新每个数据透视表的 DataSource 属性。然而,这很痛苦。在网上爬行,我发现 vba 代码可以一次更新所有数据透视表。我没有粘贴整个代码,但它看起来像这样。
ActiveSheet.PivotTables("PivotTable1").ChangePivotCache ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=<RawData-AddressRange>)
但是这段代码的作用是,它为每个数据透视表创建新的数据透视缓存并增加文件的大小。但是,我不希望文件大小或数据透视缓存的数量增加,而只是更改现有数据透视表/数据透视缓存的数据源并刷新它们。
【问题讨论】:
标签: excel vba pivot-table