我有一堆带有sql server连接的月度报告。每个月我都要刷新报告,然后在保留数据透视表的同时删除连接。
我使用以下代码,但仅适用于字段不是计算字段的数据透视表。设置CacheIndex时会丢失计算的值。
我有比这更多的代码,但问题出现了:
Set PTCache = Wb.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:="Table_ExternalData_15")
Set pt = PTCache.CreatePivotTable( _
TableDestination:=wsTemp.Range("A3"), _
TableName:="PivotTable1")
For Each pt In ws.PivotTables
pt.CacheIndex = wsTemp.PivotTables("PivotTable1").CacheIndex
Next pt
我知道我可以重新计算VBA中的字段,但是我有很多报告,而且我不确定它们中有多少包含带有计算字段的数据透视表,因此能够保存它们而不必编码它们是理想的。
感谢您的帮助