Sto semplicemente pulendo la mia cartella di lavoro e ho utilizzato il seguente codice per consolidare le mie PivotCaches (ne avevo circa 200 prima della pulizia).Condividere PivotCache per le tabelle pivot create con il modello di dati
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
questo ha ridotto il mio conteggio PivotCache a 33.
Sub CountCaches()
MsgBox ActiveWorkbook.PivotCaches.Count
End Sub
Il motivo è 33 e non 1 è perché ho 32 tabelle pivot che sono costruiti con la Data Model.
La mia domanda è: Qualcuno sa come modificare le tabelle pivot create con il modello di dati per utilizzare tutti la stessa PivotCache?
EDIT
La mia domanda è secondario: fare più tabelle pivot tutto costruito su un modello di dati
a) fare riferimento a un unico modello di dati; o
b) hanno ciascuno il proprio modello e quindi 'gonfiare' il file Excel
EDIT2
Su un ulteriore approfondimento, sembra che il modello di dati è condiviso per tabelle pivot che fanno riferimento gli stessi dati. Questo può essere visto in "Connessioni" (trovato nella scheda "Dati" nella barra multifunzione). In teoria, questo non dovrebbe "ingigantire" il file anche se il codice ActiveWorkbook.PivotCaches.Count
conta ogni tabella pivot che condivide una connessione e falsamente (?) Indica più cache.
Lascerò comunque la taglia aperta nel caso qualcuno possa fornire una risposta più definitiva.
Controllare le informazioni in questa pagina. Non ho testato per vedere se la cache è costruita allo stesso modo ma potrebbe avvicinarti a una risposta. http://datapigtechnologies.com/blog/index.php/cut-the-size-of-your-pivot-table-workbooks-in-half/ – Lumigraphics
Grazie per il collegamento ma senza fortuna – Chris