2009-10-21 5 views
2

J'ai un tas de feuilles avec des ensembles de données détaillés et des tableaux croisés dynamiques. Sur une feuille récapitulative, je veux afficher uniquement les tableaux croisés dynamiques. (Bien sûr, je préfère rester SEC et ne pas créer un nouvel ensemble.) Comment puis-je référencer les anciens tableaux croisés dynamiques?Formule pour référencer une table pivotante entière?

Je peux utiliser VBA pour le faire si nécessaire.

Répondre

1

Ce sous-programme conservera les tableaux croisés dynamiques "en direct". Vous pouvez coller des valeurs sur eux si vous ne le voulez pas.

Sub SummarizePivotTables() 
    Dim wb As Workbook, ws As Worksheet, ss As Worksheet, pt As PivotTable 
    Dim pasteRow As Long 
    Const rowsBetween As Long = 1 

    Set wb = ThisWorkbook 
    Set ss = wb.Worksheets("Summary") 
    pasteRow = 1 'first table row' 

    For Each ws In wb.Worksheets 
     For Each pt In ws.PivotTables 
      'change this to TableRange1 if you do not want the page field included' 
      With pt.TableRange2 
       .Copy ss.Range("A" & pasteRow) 
       pasteRow = pasteRow + .Rows.Count + rowsBetween 
      End With 
     Next pt 
    Next ws 
End Sub 
Questions connexes