- Dettagli
- Scritto da Alessandra
- Pubblicato: 30 Settembre 2014
- Visite: 7930
Oggi voglio proporvi una routine già pronta per minimizzare le dimnsioni di un foglio di lavoro che contiene varie tabelle pivot create con VBA, ma basate sugli stessi dati. Ogni nuova tabella viene creata con una propria cache, il che aumenta le dimensioni del file.
Con questa semplice routine, potrete leggere la cache della prima tabella pivot della cartella a applicarla a tutte le pivot della cartella di laoro.
All'inizio della routine, un messaggio vi indica il numero delle cache, dopo la la sua esecuzione un messaggio simile indica che il numero delle cache è ridotto a 1.
Public Sub ConsolidatePivotCache()
Dim ws As Worksheet
Dim ptO As PivotTable
Dim pt As PivotTable
Dim pc As PivotCache
MsgBox ActiveWorkbook.PivotCaches.Count
For Each ws In ActiveWorkbook.Worksheets
If ws.PivotTables.Count <> 0 Then
Set ptO = ws.PivotTables(1)
Exit For
End If
Next
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.CacheIndex = ptO.CacheIndex
Next pt
Next ws
MsgBox ActiveWorkbook.PivotCaches.Count
End Sub