gpt4 book ai didi

vba - 共享使用数据模型构建的数据透视表的 PivotCache

转载 作者:行者123 更新时间:2023-12-01 23:28:27 24 4
gpt4 key购买 nike

我刚刚清理我的工作簿,并使用以下代码来整合我的 PivotCache(清理之前我有大约 200 个)。

Sub changeCache()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pc As PivotCache
Dim first As Boolean
On Error Resume Next

For Each ws In ActiveWorkbook.Worksheets
ws.Activate
For Each pt In ActiveSheet.PivotTables

If first = False Then
Set pc = pt.PivotCache
first = True
End If

pt.CacheIndex = pc.Index

Next pt
Next ws

End Sub

这已将我的 PivotCache 计数减少到 33。

Sub CountCaches()
MsgBox ActiveWorkbook.PivotCaches.Count
End Sub

之所以是 33 而不是 1,是因为我有 32 个使用数据模型构建的数据透视表。

我的问题是:有谁知道如何更改使用数据模型构建的数据透视表以全部使用相同的数据透视缓存?

编辑

我的第二个问题是:是否将多个数据透视表全部构建在数据模型上

a) 引用单个数据模型;或

b) 每个都有自己的模型,因此会使 Excel 文件“膨胀”

编辑2

进一步探索后发现,引用相同数据的数据透视表似乎共享数据模型。这可以在“连接”(位于功能区的“数据”选项卡下)中看到。从理论上讲,即使代码 ActiveWorkbook.PivotCaches.Count 对共享连接的每个数据透视表进行计数并错误地(?)指示多个缓存,这也不应该使文件“膨胀”。

但是,如果有人可以提供更明确的答案,我将保留悬赏。

最佳答案

如果我正确理解你的问题,你只需将每台电脑设置为第一台即可。因此,第一遍,给 pc 一些其他名称,例如 pcfirst,然后对于每个剩余的缓存,设置 pc=pcfirst。这里有一些来源信息http://www.contextures.com/xlPivot11.html在这里http://www.mrexcel.com/forum/excel-questions/380933-set-multiple-pivot-cache-read-one-cache.html

关于vba - 共享使用数据模型构建的数据透视表的 PivotCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31274861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com