Ich bereite gerade meine Arbeitsmappe vor und habe den folgenden Code verwendet, um meine PivotCaches zu konsolidieren (ich hatte etwa 200 vor der Reinigung).Share PivotCache für PivotTables mit Datenmodell erstellt
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
Das hat mein Pivotcache zu 33.
Sub CountCaches()
MsgBox ActiveWorkbook.PivotCaches.Count
End Sub
Der Grund ist es 33 zählen reduziert und nicht 1 ist, weil ich 32 Pivot-Tabellen haben, die mit dem Data Model gebaut werden.
Meine Frage ist: Kann jemand PivotTables, die mit dem Datenmodell erstellt wurden, ändern, damit alle denselben PivotCache verwenden?
EDIT
Meine sekundäre Frage ist: mehrere Pivot-Tabellen alle auf einem Datenmodell gebaut Do
a) ein einzelnes Datenmodell verweisen; oder
b), die jeweils ihr eigenes Modell haben und daher ‚aufblasen‘ die Excel
EDIT2
Bei der weiteren Erforschung Datei scheint es, dass das Datenmodell ist für Pivot-Tabellen geteilt, die Referenz die gleichen Daten. Dies kann in "Verbindungen" (unter der Registerkarte "Daten" in der Multifunktionsleiste) gesehen werden. In der Theorie sollte dies die Datei nicht "aufblähen", obwohl der Code ActiveWorkbook.PivotCaches.Count
jede Pivot-Tabelle zählt, die eine Verbindung teilt und fälschlicherweise (?) Mehrere Caches angibt.
Ich werde jedoch das Kopfgeld offen lassen, falls jemand eine eindeutigere Antwort geben kann.
Lesen Sie die Informationen auf dieser Seite. Ich habe nicht getestet, ob der Cache auf die gleiche Weise aufgebaut ist, aber es könnte Sie näher an eine Antwort bringen. http://datapigtechnologies.com/blog/index.php/cut-the-size-of-your-pivot-table-workbooks-in-half/ – Lumigraphics
Danke für den Link aber kein Glück – Chris