Wie das Lesen von Daten aus Pivot-Tabelle mit VBA in Excel

Posted on 07 November 2008 von Ajay



Lesen Pivot-Tabellen mit vba kann ganz einfach. Hier sind ein paar Möglichkeiten, können Sie es tun.

Sie können auch zu lesen, meine früheren Artikel über die Formatierung dreht.

(Bevor Sie tauchen weitere, können Sie herunterladen möchten dieses Beispiel, das Sie durch einige der Schritte im Lesen einer Pivot-Tabelle Daten mit VBA)

Die Pivot-Tabelle Hierarchie

Lässt sich dieses Stück Code:

Sub ListAllItemObjects ()
Für Jeder pvt In ActiveSheet.PivotTables
Für Jeder fld In pvt.PivotFields
Für Jeder itm In fld.PivotItems
MsgBox itm
Weiter itm
Weiter fld
Weiter pvt
End Sub


Was haben wir in den obigen Code ist es recurse durch alle Zapfen in das aktive Blatt, dreht alle Felder in jedem der Zapfen und schließlich durch alle die Pivot-Punkte in jedem der Pivot-Feldern. Wenn Sie wollte nur mit einem einzigen Dreh-, Feld-oder das Element, können Sie einfach darauf zugreifen, indem Sie etwas ähnliches wie PivotTable (i). Pivotfield (j). Pivotfield (k). Wählen Sie statt.

Sobald Sie wissen so viel, der Rest ist ziemlich einfach. Nur bedenken, dass nicht mit pivottable.pivotfields können Sie etwas konkreter sein.

Da wir wissen, dass eine Pivot-Tabelle Seite Felder, Felder der Zeile, Spalte Felder und Felder, können wir pivottable.pagefields oder pivottable.rowfields oder pivottable.columnfields oder pivottable.datafields. Laß uns anschauen, wie jedes Werk:

Zugriff auf die Seite Bereich:

ActiveSheet.PivotTables ( "PivotTable1"). PageFields (i). PivotItems (j)

Zugriff auf die Zeile Feld:

ActiveSheet.PivotTables ( "PivotTable1"). RowFields (i). PivotItems (j)


Zugriff auf die Spalte Bereich:

ActiveSheet.PivotTables ( "PivotTable1"). ColumnFields (i). PivotItems (j)


Zugriff auf das Feld:

ActiveSheet.PivotTables ( "PivotTable1"). Datenfelder (i). PivotItems (j)


Halten ein Register auf dem Index ist sehr wichtig .... Der Index beginnt bei 1 und nicht 0. Also, um auf die zweite Zeile Bereich nutzen Index (2) und nicht-Index (1).



Das war zu den Bereichen Lesen, was zu Lesen der Daten innerhalb der Pivot. Nun, das kann etwas trickreich. VBA-Funktion verwendet pivot.getpivotdata Um die Werte aus dem Pivot. Es ist die gleiche Funktion, die verwendet wird, von Excel. Die Syntax, bei der Verwendung in Excel PIVOTDATENZUORDNEN (data_field, pivot_table, "Feld1", "Property1", "Feld2", "Property2", ... ... "FieldN", "PropertyN"). Diese bei der Verwendung in VBA ist etwas anders. Sie brauchen nicht den Namen der Pivot-Tabelle als die Funktion, durch die Tugend wird durch einen Dreh-Objekt, "weiß", die Pivot, um wieder aus.


Die Syntax für PIVOTDATENZUORDNEN Funktion bei der Verwendung in Excel:
PIVOTDATENZUORDNEN (data_field, pivot_table, "Feld1", "Property1", "Feld2", "Property2", ... ... "FieldN", "PropertyN")

Die Syntax für PIVOTDATENZUORDNEN Funktion bei der Verwendung in VBA:
PivotTable.GetPivotData (data_field, "Feld1", "Property1", "Feld2", "Property2", ... ... "FieldN", "PropertyN")



Der wichtigste Punkt ist, wissen, dass nur die Werte können abgerufen werden, die auf der Excel-Arbeitsblatt. Zum Beispiel, wenn die Folge insgesamt wurde um einen Drehpunkt auf dem Excel-Blatt, können Sie den VBA-Code Um die insgesamt für die Reihe. Allerdings ist die Zeit Sie die Zeile insgesamt OFF, die VBA-Formel führt zu einem Fehler. (Tipp: Verwenden Sie On Error Resume Next Fehler zu überschreiben). Sie können nicht schreiben eine einzige Funktion, die vba gibt eine einzige aggregierte Wert von mehreren Zellen. Kurz gesagt, verwenden Sie stets eine Kombination von Spalte und Zeile Felder in der PIVOTDATENZUORDNEN Funktion, dass die Ergebnisse in einzelnen Zelle Wert abgerufen werden (das kann auch am Bildschirm).


Zur Erinnerung:

Die Pivot-Hierarchie:
Pivot-Tabelle -> PivotField -> PivotItem

Das Lesen von Daten aus Pivot:
Pivot.GetPivotData ( "Row1", "RowProperty1", "Row2", "RowProperty2", ... ... ... RowN "," RowProperty2N "... ... ... ... ...." Column1 "," ColumnProperty1 "," column2 "," ColumnProperty2 " ... ... ... "ColumnN", "ColumnPropertyN")

Incase Sie es verpasst wurde, können Sie ein Beispiel dafür, wie das Lesen von Daten aus Pivot-Tabelle mit VBA hier.



1 Kommentare für diesen Post

  1. Mako Says:

    Sehr informativ. Und vielen Dank für das Beispiel. Werde versuchen einige dieser auf meinem Dashboards.

2 Trackbacks für diesen Post

  1. da Registerkarte Am »Wie Formatieren einer Pivot-Tabelle in Excel-Says:

    [...] Darum geht, mit Pivot-Tabellen und was erreicht werden kann. Sie können auch lesen wollen, meinen früheren Post auf Lesen von Daten aus Pivot-Tabelle mit VBA zu wissen, wie man Daten aus einer Pivot-Tabelle mit VBA für einige Ihrer Advanced Dashboards. [...]

  2. da Registerkarte Am »So erstellen Sie ein Dashboard in Excel Says:

    [...] -> 'PivotTable-und PivotChart-Bericht' Option in der Menüleiste. Sie können mehr über Pivot-Tabellen und VBA [...]

Lassen Sie eine Antwort

Abonnieren

Halten Sie sich mit den neuesten Geschichten, die direkt in Ihrem Posteingang
feedburner


Übersetzen

Excel in EnglishExcel in Chinese (Simplified)Excel in PortugueseExcel in GermanExcel in FrenchExcel in SpanishExcel in JapaneseExcel in ArabicExcel in DutchExcel in HindiExcel in PolishExcel in SwedishExcel in FilipinoExcel in HebrewExcel in IndonesianExcel in UkrainianExcel in ThaiExcel in Turkish