In un foglio ho più tabelle pivot connesse tra loro e gestite da filtri pivot in modo che la scelta applicata su un filtro
dia l'esito richiesto su tutte le tabelle collegate.
Considerato che l'aggiornamento dei dati delle tabelle pivot avviene con una frequenza mensile avevo pensato di registrare una macro in cui toglievo tutte le connessioni tra tabelle per poi aggiornare i dati e successivamente un'altra macro che riabilitava la connessione. Beh da quando sono passato a 64 bit non funzionano più e il messaggio proposto è il seguente:
"Impossibile trovare la proprietà PivotTables per la classe Worksheet".
Per completezza di informazione posto il codice della macro che toglieva la connessione delle tabelle:
- Codice: Seleziona tutto
Sub TogliConnessione()
'
' TogliConnessione Macro
' Toglie la connessione tra tabelle pivot
'
' Scelta rapida da tastiera: CTRL+MAIUSC+T
'
ActiveSheet.Shapes.Range(Array("Data")).Select
ActiveWorkbook.SlicerCaches("TS_Data1").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Media_settore"))
ActiveWorkbook.SlicerCaches("TS_Data1").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Top10_Fam"))
ActiveWorkbook.SlicerCaches("TS_Data1").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Vend_Neg"))
ActiveWorkbook.SlicerCaches("TS_Data1").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Vend_Set"))
ActiveSheet.Shapes.Range(Array("Negozio")).Select
ActiveWorkbook.SlicerCaches("FiltroDati_Negozio").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Media_settore"))
ActiveWorkbook.SlicerCaches("FiltroDati_Negozio").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Top10_Fam"))
ActiveWorkbook.SlicerCaches("FiltroDati_Negozio").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Vend_Neg"))
ActiveWorkbook.SlicerCaches("FiltroDati_Negozio").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Vend_Set"))
ActiveSheet.Shapes.Range(Array("Settore")).Select
ActiveWorkbook.SlicerCaches("FiltroDati_Settore").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Media_settore"))
ActiveWorkbook.SlicerCaches("FiltroDati_Settore").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Top10_Fam"))
ActiveWorkbook.SlicerCaches("FiltroDati_Settore").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Vend_Neg"))
ActiveWorkbook.SlicerCaches("FiltroDati_Settore").PivotTables.RemovePivotTable ( _
ActiveSheet.PivotTables("Vend_Set"))
ActiveSheet.Shapes.Range(Array("Famiglia")).Select
ActiveWorkbook.SlicerCaches("FiltroDati_Famiglia").PivotTables.RemovePivotTable _
(ActiveSheet.PivotTables("Media_settore"))
ActiveWorkbook.SlicerCaches("FiltroDati_Famiglia").PivotTables.RemovePivotTable _
(ActiveSheet.PivotTables("Top10_Fam"))
ActiveWorkbook.SlicerCaches("FiltroDati_Famiglia").PivotTables.RemovePivotTable _
(ActiveSheet.PivotTables("Vend_Neg"))
ActiveWorkbook.SlicerCaches("FiltroDati_Famiglia").PivotTables.RemovePivotTable _
(ActiveSheet.PivotTables("Vend_Set"))
ActiveSheet.Shapes.Range(Array("Punto Vendita")).Select
ActiveWorkbook.SlicerCaches("FiltroDati_Punto_Vendita").PivotTables. _
RemovePivotTable (ActiveSheet.PivotTables("Carrello_medio"))
End Sub
Ringraziandovi anticipatamente per il vostro aiuto vi porgo i miei saluti.
fastbike73