2016-06-22 10 views
0

Ich verstehe, dass dies sehr kompliziert B/C-Pivot-Tabellen können je nach Anwendungsfall unglaublich unterschiedlich sein, aber ich hoffte, einen Weg zu finden, die mich im Wesentlichen die aktuelle Ansicht erinnern würde von der Pivot-Tabelle, und gehen Sie dann zurück, nachdem ich herumgebohrt habe. Klicken Sie auf der obersten Ebene auf eine Schaltfläche, die den Pivot in den ursprünglichen Zustand zurücksetzt, wenn ich die Datei öffne.Zurück zur ursprünglichen Pivot-Tabellenansicht über VBA

Ich weiß, dass es wahrscheinlich mehrere Möglichkeiten gibt, dies zu erreichen (einschließlich des Kopierens auf ein neues Blatt), aber ich hoffte auf einen universellen Weg, der das Hinzufügen eines neuen Blattes nicht erforderte.

Danke! Jeremy

Antwort

1

Ja, aber es wird nicht super einfach sein.

Ich habe gerade den Makrorecorder beim Erstellen einer einfachen Pivot-Tabelle aus erfundenen Daten verwendet. Ich habe dies:

Sub Macro1() 
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("A") 
     .Orientation = xlRowField 
     .Position = 1 
    End With 
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("B") 
     .Orientation = xlColumnField 
     .Position = 1 
    End With 
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable1").PivotFields("C"), "Sum of C", xlSum 
End Sub 

Aus dem aufgezeichneten Makro können wir die Pivot-Tabelle Objekt sehen, dass Eigenschaften wie Pivotfields und Datafields hat. Sie müssten alle relevanten Elemente in den verschiedenen Eigenschaften im PivotTable-Objekt durchlaufen und diese Daten dann irgendwo speichern. Entweder durch Serialisierung in ein verstecktes Arbeitsblatt oder durch Speichern in einer globalen VBA-Variablen.

Dokumentation über die Pivot Table Object is available here.

Verwandte Themen