Klasse PivotTable (Excel VBA)

Die Klasse PivotTable stellt einen PivotTable-Bericht auf einem Arbeitsblatt dar.

Die wichtigste Prozeduren der Klasse PivotTable sind AddDataField, AddFields, PivotTables.Add und SlicerPivotTables.AddPivotTable

Set

Um eine PivotTable -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise

Dim pvt as PivotTable
Set pvt = ActiveCell.PivotTable

Die folgenden Prozeduren können zum Festlegen der PivotTable Klassenvariablen verwendet werden : PivotCache.SourceData, PivotCache.CreatePivotTable, PivotCell.Parent, PivotCell.PivotTable, PivotFields.Parent, PivotLayout.PivotTable, PivotTableChangeList.Parent, PivotTables.Item, PivotTables.Add, Range.PivotTable, SlicerPivotTables.Item, Worksheet.PivotTableWizard, Workbook.PivotTables, Worksheet.PivotTables und SlicerCache.PivotTables

For Each

Hier ist ein Beispiel für die Verarbeitung der PivotTable -Elemente in einer Sammlung

Dim pvt As PivotTable
For Each pvt In Application.PivotTables
	
Next pvt

Themas

Einige Prozeduren in dieser Klasse wurden in Themen zusammengefasst und auf separaten Themenseiten beschrieben

Add with its procedures AddDataField, AddFields, PivotTables.Add und SlicerPivotTables.AddPivotTable
Value with its procedures AllocationValue, RefreshDataSourceValues und Value
Column with its procedures ColumnFields, ColumnGrand, ColumnRange und PivotColumnAxis
Row with its procedures CompactRowIndent, PivotRowAxis, RowFields, RowGrand und RowRange
Formula with its procedures ConvertToFormulas, ListFormulas und PivotFormulas
Display/Show with its procedures DisplayContextTooltips, DisplayEmptyColumn, DisplayEmptyRow, DisplayErrorString, DisplayFieldCaptions, DisplayImmediateItems, DisplayMemberPropertyTooltips, DisplayNullString, ShowDrillIndicators und ShowValuesRow
Enable with its procedures EnableDataValueEditing, EnableDrilldown, EnableFieldDialog, EnableFieldList, EnableWizard und EnableWriteback
Sort/Order with its procedures FieldListSortAscending und SortUsingCustomLists
Name with its procedures GrandTotalName und RefreshName
Print with its procedures PageFieldOrder, PageFields, PageFieldStyle, PageFieldWrapCount, PageRange, PageRangeCells, PrintDrillIndicators, PrintTitles, RepeatItemsOnEachPrintedPage, ShowPageMultipleItemLabel, ShowPages und SubtotalHiddenPageItems

Methoden

Andere Methoden

AllocateChanges - Führt einen Rückschreibvorgang für alle bearbeiteten Zellen in einem PivotTable-Bericht auf der Grundlage einer OLAP-Datenquelle aus.

CalculatedFields - Gibt eine CalculatedFields -Auflistung zurück, die alle berechneten Felder im angegebenen PivotTable-Bericht darstellt.

ChangeConnection - Ändert die Verbindung des angegebenen PivotTable -Objekts.

ChangePivotCache - Ändert das PivotCache -Objekt der angegebenen PivotTable.

ClearAllFilters - Die ClearAllFilters -Methode löscht alle Filter, die aktuell auf die PivotTable angewendet werden.

ClearTable - Mit derClearTable-Methode wird eine PivotTable gelöscht.

CommitChanges - Führt einen Commit-Vorgang für die Datenquelle eines PivotTable-Berichts basierend auf einer OLAP-Datenquelle aus.

CreateCubeFile - Erstellt eine Cubedatei aus einem PivotTable-Bericht, der mit einer OLAP-Datenquelle (Online Analytical Processing) verbunden ist.

DiscardChanges - Verwirft alle Änderungen an den bearbeiteten Zellen eines PivotTable-Berichts basierend auf einer OLAP-Datenquelle.

DrillDown - Ermöglicht das Drilldown in die Daten in einer OLAP-basierten oder PowerPivot-basierten Cube-Hierarchie.

DrillTo - Ermöglicht das Drilldown zu einer Position innerhalb einer OLAP-basierten oder PowerPivot-basierten Cube-Hierarchie.

DrillUp - Ermöglicht das Ausführen eines Drilldowns in die Daten in einer OLAP-basierten oder PowerPivot-basierten Cube-Hierarchie.

GetData - Gibt den Wert für die in einer PivotTable archivierten Daten zurück.

GetPivotData - Gibt ein Range -Objekt mit Informationen über ein Datenelement in einem PivotTable-Bericht zurück.

PivotCache - Gibt ein PivotCache -Objekt zurück, das den Cache für den angegebenen PivotTable-Bericht darstellt.

PivotFields - Gibt ein Objekt zurück, das ein einzelnes PivotTable-Feld ( ein PivotField-Objekt) oder eine Auflistung der sichtbaren und ausgeblendeten Felder (ein PivotFields -Objekt) im PivotTable-Bericht darstellt.

PivotSelect - Markiert einen Teil eines PivotTable-Berichts.

PivotTableWizard - Erstellt ein PivotTable-Objekt und gibt dieses zurück.

PivotValueCell - Ruft das PivotValueCell -Objekt für eine angegebene PivotTable ab, sofern bestimmte Zeilen-und Spalten Indizes vorhanden sind.

RefreshTable - Aktualisiert den PivotTable-Bericht mit den Quelldaten.

RepeatAllLabels - Gibt an, ob Elementbeschriftungen für alle PivotFields in der angegebenen PivotTable wiederholt werden sollen.

RowAxisLayout - Mit dieser Methode werden die Layoutoptionen für alle vorhandenen PivotFields gleichzeitig festgelegt.

SubtotalLocation - Diese Methode ändert den Teilergebnisspeicherort für alle vorhandenen PivotFields.

Update - Aktualisiert den PivotTable-Bericht.

PivotTables.Item - Gibt ein einzelnes Objekt aus einer Auflistung zurück.

SlicerPivotTables.RemovePivotTable - Entfernt einen Verweis auf eine PivotTable aus der SlicerPivotTables-Auflistung.

Eigenschaften

ActiveFilters Gibt den derzeit aktiven Filter in der angegebenen PivotTable an.

Dim pfsActiveFilters As PivotFilters
Set pfsActiveFilters = ActiveCell.PivotTable.ActiveFilters

Allocation Gibt zurück oder legt fest, ob eine Update Cube -Anweisung für jede bearbeitete Zelle ausgeführt werden soll, oder nur, wenn der Benutzer Änderungen berechnet, wenn er eine Was-wäre-wenn-Analyse für eine PivotTable ausführt, die auf einer OLAP-Datenquelle basiert.

ActiveCell.PivotTable.Allocation = xlAutomaticAllocation

AllocationMethod Gibt zurück oder legt die Methode, die zum Zuordnen von Werten beim Ausführen von What-if-Analyse für einen PivotTable-Bericht basierend auf einer OLAP-Datenquelle verwendet.

ActiveCell.PivotTable.AllocationMethod = xlEqualAllocation

AllocationWeightExpression Gibt den beim Ausführen einer Was-wäre-wenn-Analyse für eine auf einer OLAP-Datenquelle basierenden PivotTable zu verwendenden MDX-Gewichtungsausdruck zurück oder legt ihn fest.

ActiveCell.PivotTable.AllocationWeightExpression =

AllowMultipleFilters Legt einen Wert fest, der angibt, ob auf ein PivotField gleichzeitig mehrere Filter angewendet werden können, oder ruft diesen Wert ab.

ActiveCell.PivotTable.AllowMultipleFilters = True

AlternativeText Gibt die Zeichenfolge für den beschreibenden (alternativen) Text für die angegebene Tabelle zurück oder legt sie fest.

ActiveCell.PivotTable.AlternativeText =

CacheIndex Gibt den Index des PivotTable-Cache zurück oder legt ihn fest.

ActiveCell.PivotTable.CacheIndex =

CalculatedMembers Gibt eine CalculatedMembers -Auflistung zurück, die alle berechneten Elemente und berechneten Measures für eine OLAP-PivotTable darstellt.

Dim cmsCalculatedMembers As CalculatedMembers
Set cmsCalculatedMembers = ActiveCell.PivotTable.CalculatedMembers

CalculatedMembersInFilters Gibt zurück oder legt fest, ob berechnete Elemente von OLAP-Servern in Filtern ausgewertet werden.

ActiveCell.PivotTable.CalculatedMembersInFilters = True

ChangeList Gibt die PivotTableChangeList -Auflistung zurück, die die Liste der Änderungen darstellt, die basierend auf einer OLAP-Datenquelle an der angegebenen PivotTable vorgenommen wurden.

Dim ptcChangeList As PivotTableChangeList
Set ptcChangeList = ActiveCell.PivotTable.ChangeList

CompactLayoutColumnHeader Gibt die Beschriftung an, die im Kurzformat des Zeilenlayouts in der Spaltenüberschrift einer PivotTable angezeigt wird.

ActiveCell.PivotTable.CompactLayoutColumnHeader =

CompactLayoutRowHeader Gibt die Beschriftung an, die im Kurzformat des Zeilenlayouts in der Zeilenüberschrift einer PivotTable angezeigt wird.

ActiveCell.PivotTable.CompactLayoutRowHeader =

CubeFields Gibt die CubeFields -Auflistung zurück.

Dim cfsCubeFields As CubeFields
Set cfsCubeFields = ActiveCell.PivotTable.CubeFields

DataBodyRange Gibt ein Range -Objekt zurück, das den Wertebereich in einer PivotTable darstellt.

Dim rngDataBodyRange As Range
Set rngDataBodyRange = ActiveCell.PivotTable.DataBodyRange

DataFields Gibt ein Objekt zurück, das ein einzelnes PivotTable-Feld ( ein PivotField-Objekt) oder eine Auflistung aller Felder (ein PivotFields -Objekt) darstellt, die derzeit als Datenfelder angezeigt werden.

Dim pfsDataFields As PivotFields
Set pfsDataFields = ActiveCell.PivotTable.DataFields

DataLabelRange Gibt ein Range -Objekt zurück, das den Bereich darstellt, der die Beschriftungen für die Datenfelder im PivotTable-Bericht enthält.

Dim rngDataLabelRange As Range
Set rngDataLabelRange = ActiveCell.PivotTable.DataLabelRange

DataPivotField Gibt ein PivotField -Objekt zurück, das alle Datenfelder in einer PivotTable darstellt.

Dim pvtfDataPivotField As PivotField
Set pvtfDataPivotField = ActiveCell.PivotTable.DataPivotField

ErrorString Gibt einen String-Wert zurück, der die Zeichenfolge darstellt, die in Zellen angezeigt wird, die Fehler enthalten, wenn die DisplayErrorString-Eigenschaft True ist, oder legt diesen fest.

ActiveCell.PivotTable.ErrorString =

HasAutoFormat True , wenn der PivotTable-Bericht beim Aktualisieren automatisch formatiert wird oder wenn Felder verschoben werden.

ActiveCell.PivotTable.HasAutoFormat = True

Hidden Überprüft, ob die PivotTable auf Arbeitsblattebene vorhanden ist.

Dim booHidden As Boolean
booHidden = ActiveCell.PivotTable.Hidden

HiddenFields Gibt ein Objekt zurück, das ein einzelnes PivotTable-Feld ( ein PivotField-Objekt) oder eine Auflistung aller Felder (ein PivotFields -Objekt) darstellt, die derzeit nicht als Zeilen-, Spalten-, Seiten-oder Datenfelder angezeigt werden.

Dim pvtfHiddenFields As PivotField
Set pvtfHiddenFields = ActiveCell.PivotTable.HiddenFields

InGridDropZones Mit dieser Eigenschaft werden Dropzonen innerhalb des Tabellenblatts für ein PivotTable-Objekt umgeschaltet.

ActiveCell.PivotTable.InGridDropZones = True

InnerDetail Gibt zurück oder legt den Namen des Felds, das als Detail angezeigt wird, wenn die ShowDetail -Eigenschaft für das innerste Zeilen-oder Spaltenfeld true ist.

ActiveCell.PivotTable.InnerDetail =

LayoutRowDefault Diese Eigenschaft gibt die Layouteinstellungen für PivotFields an, wenn sie der PivotTable erstmalig hinzugefügt werden.

ActiveCell.PivotTable.LayoutRowDefault = xlCompactRow

Location Dient zum Abrufen oder Festlegen einer Zeichenfolge , die die linke obere Zelle im Textkörper des angegebenen PivotTable -Objekts darstellt.

ActiveCell.PivotTable.Location =

ManualUpdate True, wenn der PivotTable-Bericht lediglich auf Anfrage des Benutzers neu berechnet wird.

ActiveCell.PivotTable.ManualUpdate = True

MDX Gibt einen String-Wert zurück, der den MDX (Multidimensional Expression) angibt, der an den Provider gesendet wird, um die aktuelle PivotTable-Ansicht zu füllen.

Dim strMDX As String
strMDX = ActiveCell.PivotTable.MDX

MergeLabels True , wenn die Beschriftungen der äußeren Zeilenelemente, Spaltenelemente, Zwischensumme und Gesamtsumme des angegebenen PivotTable-Berichts verbundene Zellen verwenden.

ActiveCell.PivotTable.MergeLabels = True

Name Gibt einen String-Wert zurück, der den Namen des Objekt darstellt, oder legt diesen Wert fest.

ActiveCell.PivotTable.Name =

NullString Zurückgeben oder Festlegen der Zeichenfolge, die in Zellen angezeigt wird, die NULL-Werte enthalten, wenn die displaynullstring -Eigenschaft trueist.

ActiveCell.PivotTable.NullString = "NA"

Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

Dim objParent As Object
Set objParent = ActiveCell.PivotTable.Parent

PivotChart Gibt ein Shape -Objekt zurück, das das eigenständige PivotChart für den angegebenen ausgeblendeten PivotTable-Bericht darstellt.

Dim shpPivotChart As Shape
Set shpPivotChart = ActiveCell.PivotTable.PivotChart

PivotSelection Gibt die PivotTable-Markierung im Standardmarkierungsformat des PivotTable-Berichts zurück oder legt sie fest.

ActiveCell.PivotTable.PivotSelection =

PivotSelectionStandard Gibt einen String-Wert zurück oder legt diesen fest, der die PivotTable-Auswahl im Standard-PivotTable-Berichtsformat anzeigt und Einstellungen für Englisch (USA) verwendet.

ActiveCell.PivotTable.PivotSelectionStandard = "1.57"

PreserveFormatting True , wenn die Formatierung beibehalten wird, wenn der Bericht durch Vorgänge wie Pivotieren, Sortieren oder Ändern von Seitenfeldelementen aktualisiert oder neu berechnet wird.

ActiveCell.PivotTable.PreserveFormatting = True

RefreshDate Gibt das Datum der letzten Aktualisierung des PivotTable-Berichts zurück.

Dim dtRefreshDate As Date
dtRefreshDate = ActiveCell.PivotTable.RefreshDate

SaveData True , wenn Daten für den PivotTable-Bericht mit der Arbeitsmappe gespeichert werden.

ActiveCell.PivotTable.SaveData = True

SelectionMode Gibt den strukturierten Markierungsmodus eines PivotTable-Berichts zurück oder legt ihn fest.

ActiveCell.PivotTable.SelectionMode = xlBlanks

ShowTableStyleColumnHeaders Die ShowTableStyleColumnHeaders -Eigenschaft wird auf true festgelegt, wenn die Spaltenüberschriften in der PivotTable angezeigt werden sollen.

ActiveCell.PivotTable.ShowTableStyleColumnHeaders = True

ShowTableStyleColumnStripes Die ShowTableStyleColumnStripes-Eigenschaft zeigt verbundene Spalten an, in denen Spalten mit gerader Nummer anders als Spalten mit ungerader Nummer formatiert werden.

ActiveCell.PivotTable.ShowTableStyleColumnStripes = True

ShowTableStyleLastColumn Gibt zurück oder legt fest, ob die letzte Spalte für das angegebene PivotTable -Objekt angezeigt wird.

ActiveCell.PivotTable.ShowTableStyleLastColumn = True

ShowTableStyleRowHeaders Die ShowTableStyleRowHeaders -Eigenschaft wird auf true festgelegt, wenn die Zeilenüberschriften in der PivotTable angezeigt werden sollen.

ActiveCell.PivotTable.ShowTableStyleRowHeaders = True

ShowTableStyleRowStripes Die ShowTableStyleRowStripes-Eigenschaft zeigt verbundene Zeilen an, in denen Zeilen mit gerader Nummer anders als Zeilen mit ungerader Nummer formatiert werden.

ActiveCell.PivotTable.ShowTableStyleRowStripes = True

Slicers Gibt die Slicers -Auflistung für die angegebene PivotTable zurück.

Dim slcsSlicers As Slicers
Set slcsSlicers = ActiveCell.PivotTable.Slicers

SmallGrid True , wenn Microsoft Excel ein Raster mit zwei Zellenbreite und zwei Zellen für einen neu erstellten PivotTable-Bericht verwendet.

ActiveCell.PivotTable.SmallGrid = True

SourceData Gibt die Datenquelle für den PivotTable-Bericht wie in der nachfolgenden Tabelle dargestellt zurück.

ActiveCell.PivotTable.SourceData =

Summary Gibt die Beschreibung zurück, die der Textzeichenfolge für die angegebene PivotTable zugeordnet ist, oder legt sie fest.

ActiveCell.PivotTable.Summary =

TableRange1 Gibt ein Range -Objekt zurück, das den Bereich darstellt, der den gesamten PivotTable-Bericht enthält, jedoch keine Seitenfelder.

Dim rngTableRange1 As Range
Set rngTableRange1 = ActiveCell.PivotTable.TableRange1

TableRange2 Gibt ein Range -Objekt zurück, das den Bereich darstellt, der den gesamten PivotTable-Bericht enthält, einschließlich Seitenfelder.

Dim rngTableRange2 As Range
Set rngTableRange2 = ActiveCell.PivotTable.TableRange2

TableStyle2 Die TableStyle2-Eigenschaft gibt das derzeit auf die PivotTable angewendete PivotTable-Format an.

ActiveCell.PivotTable.TableStyle2 = "PivotStyleLight17"

Tag Gibt eine Zeichenfolge zurück, die mit dem PivotTable-Bericht gespeichert wird, oder legt sie fest.

ActiveCell.PivotTable.Tag = "Product Sales by Region"

TotalsAnnotation True , wenn ein Sternchen*() neben jeder Zwischensumme und einem Gesamtsummen Wert im angegebenen PivotTable-Bericht angezeigt wird, wenn der Bericht auf einer OLAP-Datenquelle basiert.

ActiveCell.PivotTable.TotalsAnnotation = True

VacatedStyle Gibt die Formatvorlage von Zellen zurück, die frei werden, wenn der PivotTable-Bericht aktualisiert wird, oder legt diese fest.

ActiveCell.PivotTable.VacatedStyle = "BlackAndBlue"

Version Gibt einen XlPivotTableVersionList -Wert zurück, der die Versionsnummer von Microsoft Excel darstellt.

Dim xptVersion As XlPivotTableVersionList
xptVersion = ActiveCell.PivotTable.Version

ViewCalculatedMembers Bei Festlegung auf " true " (Standardeinstellung) können berechnete Elemente für OLAP-PivotTables (Online Analytical Processing) angezeigt werden.

ActiveCell.PivotTable.ViewCalculatedMembers = True

VisibleFields Gibt ein Objekt zurück, das ein einzelnes Feld in einem PivotTable-Bericht ( ein PivotField-Objekt) oder eine Auflistung aller sichtbaren Felder (ein PivotFields -Objekt) darstellt.

Dim pfsVisibleFields As PivotFields
Set pfsVisibleFields = ActiveCell.PivotTable.VisibleFields

VisualTotals True (Standard), um OLAP (Online Analytical Processing)-PivotTables zu ermöglichen, um Ergebnisse erneut zu berechnen, nachdem ein Element aus der Ansicht ausgeblendet wurde.

ActiveCell.PivotTable.VisualTotals = True

VisualTotalsForSets Gibt zurück oder legt fest, ob gefilterte Elemente in die Gesamtsumme benannter Mengen für die angegebene PivotTable eingeschlossen werden sollen.

ActiveCell.PivotTable.VisualTotalsForSets = True

PivotTables.Count Gibt einen Long-Wert zurück, der die Anzahl der Objekte in der Auflistung darstellt.

Dim lngCount As Long
lngCount = ActiveSheet.PivotTables.Count

PivotTables.Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

Dim objParent As Object
Set objParent = ActiveSheet.PivotTables.Parent

SlicerPivotTables.Count Gibt die Anzahl der Objekte in der Auflistung zurück.

Dim lngCount As Long
lngCount = ActiveWorkbook.SlicerCaches(1).PivotTables.Count

SlicerPivotTables.Item Gibt ein einzelnes PivotTable -Objekt aus der Auflistung zurück.

Dim pvtItem As PivotTable
Set pvtItem = ActiveWorkbook.SlicerCaches(1).PivotTables(Index:=1)

SlicerPivotTables.Parent Gibt das SlicerCache -Objekt zurück, das das übergeordnete Element der angegebenen SlicerPivotTables -Auflistung ist.

Dim objParent As Object
Set objParent = ActiveWorkbook.SlicerCaches(1).PivotTables.Parent