Klasse PivotField (Excel VBA)

Die Klasse PivotField stellt ein Feld in einem PivotTable-Bericht dar.

Die wichtigste Prozeduren der Klasse PivotField sind CalculatedFields.Add, AddPageItem und Delete

Set

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

Dim pvtf as PivotField
Set pvtf = ActiveCell.PivotField

Die folgenden Prozeduren können zum Festlegen der PivotField Klassenvariablen verwendet werden : PivotTable.CalculatedFields, CalculatedFields.Item, CalculatedFields.Add, PivotCell.DataField, PivotCell.PivotField, ChildField, ParentField, PropertyParentField, PivotFields.Item, PivotFilter.DataField, PivotFilter.PivotField, PivotFilter.MemberPropertyField, PivotItem.Parent, PivotItems.Parent, PivotTable.AddDataField, PivotTable.ColumnFields, PivotTable.DataFields, PivotTable.DataPivotField, PivotTable.HiddenFields, PivotTable.PageFields, PivotTable.RowFields, PivotTable.VisibleFields, Range.PivotField, CubeField.PivotFields, PivotTable.PivotFields, PivotTable.ColumnFields, PivotTable.DataFields, PivotTable.HiddenFields, PivotTable.PageFields, PivotTable.RowFields und PivotTable.VisibleFields

For Each

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

Dim pvtfCalculatedField As PivotField
For Each pvtfCalculatedField In Application.CalculatedFields()
	
Next pvtfCalculatedField

Themas

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

Sort/Order with its procedures AutoSort, AutoSortCustomSubtotal, AutoSortField, AutoSortOrder, AutoSortPivotLine, DatabaseSort und PropertyOrder
Display/Show with its procedures DisplayAsCaption, DisplayAsTooltip, DisplayInReport, ShowAllItems, ShowDetail und ShowingInAxis
Formula with its procedures Formula und StandardFormula
Name with its procedures MemberPropertyCaption, SourceCaption, SourceName, SubtotalName und UseMemberPropertyAsCaption

Methoden

Die Hauptmethoden der Klasse PivotField sind

CalculatedFields.Add - Erstellt ein neues berechnetes Feld.

Dim strName As String: strName = 
Dim strFormula As String: strFormula = 
Dim pvtf As PivotField
Set pvtf = ActiveCell.PivotTable.CalculatedFields.Add(Name:=strName, Formula:=strFormula)

AddPageItem - Fügt einem Seitenfeld mit mehreren Elementen ein zusätzliches Element hinzu.

Dim strItem As String: strItem =  "[Product].[All Products].[Food].[Eggs]"
ActiveCell.PivotField.AddPageItem Item:=strItem

Delete - Löscht das Objekt.

ActiveCell.PivotField.Delete

Andere Methoden

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

AutoGroup - Gruppiert PivotFelder automatisch in einer PivotTable.

AutoShow - Zeigt die Anzahl der oberen oder unteren Elemente für eine Zeile, eine Seite oder ein Spaltenfeld in dem angegebenen PivotTable-Bericht an.

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

ClearAllFilters - Durch Aufrufen dieser Methode werden alle auf das PivotField angewendeten Filter gelöscht.

ClearLabelFilters - Mit dieser Methode werden alle Beschriftungsfilter oder alle Datumsfilter in der PivotFilters -Auflistung des PivotField gelöscht.

ClearManualFilter - Stellt eine einfache Möglichkeit bereit, um die Visible -Eigenschaft für alle Elemente eines PivotField in PivotTables auf true festzulegen und die HiddenItemsList -und VisibleItemsList -Auflistungen in OLAP-PivotTables zu leeren.

ClearValueFilters - Durch Aufrufen dieser Methode werden alle Wert Filter in der PivotFilters -Auflistung des PivotField gelöscht.

DrillTo - Die DrillTo-Methode unterstützt den Drilldown zu einem angegebenen PivotField von einem anderen PivotField aus.

PivotItems - Gibt ein Objekt zurück, das ein einzelnes PivotTable-Element (ein PivotItem -Objekt) oder eine Auflistung aller sichtbaren und ausgeblendeten Elemente (ein PivotItems -Objekt) im angegebenen Feld darstellt.

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

Eigenschaften

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

Dim lngCount As Long
lngCount = ActiveCell.PivotTable.CalculatedFields.Count

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

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

AllItemsVisible Wird verwendet, um einen booleschen Wert abzurufen, der angibt, ob eine manuelle Filterung auf das PivotField angewendet wird.

Dim booAllItemsVisible As Boolean
booAllItemsVisible = ActiveCell.PivotField.AllItemsVisible

AutoShowCount Gibt die Anzahl der obersten oder untersten Elemente zurück, die im angegebenen PivotTable-Feld automatisch angezeigt werden.

Dim lngAutoShowCount As Long
lngAutoShowCount = ActiveCell.PivotField.AutoShowCount

AutoShowField Gibt den Namen des Datenfelds zurück, mit dem festgelegt wird, welche Kopf- oder Fußelemente automatisch in dem angegebenen PivotTable-Feld dargestellt werden.

Dim strAutoShowField As String
strAutoShowField = ActiveCell.PivotField.AutoShowField

AutoShowRange Gibt die xlTop - Konstante zurück, wenn die obersten Elemente automatisch im angegebenen PivotTable-Feld angezeigt werden. gibt xlBottom zurück, wenn die unteren Elemente angezeigt werden.

Dim lngAutoShowRange As Long
lngAutoShowRange = ActiveCell.PivotField.AutoShowRange

AutoShowType Gibt die xlAutomatic - Konstante zurück, wenn Autoshow für das angegebene PivotTable-Feld aktiviert ist; gibt xlManual zurück , wenn Autoshow deaktiviert ist.

Dim lngAutoShowType As Long
lngAutoShowType = ActiveCell.PivotField.AutoShowType

BaseField Gibt das Basisfeld für eine benutzerdefinierte Berechnung zurück oder legt es fest.

ActiveCell.PivotField.BaseField =

BaseItem Gibt das Element im Basisfeld für eine benutzerdefinierte Berechnung zurück oder legt es fest.

ActiveCell.PivotField.BaseItem =

Calculation Gibt einen XlPivotFieldCalculation -Wert zurück, der den vom angegebenen Feld ausgeführten Berechnungstyp darstellt, oder legt diesen fest.

ActiveCell.PivotField.Calculation = xlDifferenceFrom

Caption Gibt einen String-Wert zurück, der den Beschriftungstext für das Pivot-Feld darstellt.

ActiveCell.PivotField.Caption =

ChildField Gibt ein PivotField -Objekt zurück, das das untergeordnete Feld für das angegebene Feld darstellt (wenn das Feld gruppiert ist und ein untergeordnetes Feld aufweist).

Dim pvtfChildField As PivotField
Set pvtfChildField = ActiveCell.PivotField.ChildField

ChildItems Gibt einen Wert vom Typ Object zurück, der ein einzelnes PivotTable-Element (ein PivotItem -Objekt) oder eine Auflistung aller Elemente (ein PivotItems -Objekt) darstellt, die im angegebenen Feld Gruppen untergeordnet sind, oder Children des angegebenen Elements.

Dim pvtiChildItems As PivotItem
Set pvtiChildItems = ActiveCell.PivotField.ChildItems

CubeField Gibt das CubeField -Objekt zurück, aus dem das angegebene PivotTable-Feld abstammt.

Dim cbfCubeField As CubeField
Set cbfCubeField = ActiveCell.PivotField.CubeField

CurrentPage Gibt die aktuelle Seite zurück, die im Seitenfeld angezeigt wird (nur gültig für Seitenfelder), oder legt diese Seite fest.

ActiveCell.PivotField.CurrentPage =

CurrentPageList Gibt ein Array aus Zeichenfolgen zurück, das der Liste der Elemente entspricht, die in einem aus mehreren Elementen bestehenden Seitenfeld für einen PivotTable-Bericht enthalten sind, oder legt dieses fest.

ActiveCell.PivotField.CurrentPageList =

CurrentPageName Gibt die aktuell angezeigte Seite des angegebenen PivotTable-Berichts zurück oder legt Sie fest.

ActiveCell.PivotField.CurrentPageName =

DataRange Gibt ein Range -Objekt zurück, wie in der folgenden Tabelle dargestellt.

Dim rngDataRange As Range
Set rngDataRange = ActiveCell.PivotField.DataRange

DataType Gibt einen XlPivotFieldDataType -Wert zurück, der den Typ der Daten im PivotTable-Feld darstellt.

Dim xpfDataType As XlPivotFieldDataType
xpfDataType = ActiveCell.PivotField.DataType

DragToColumn True, wenn das angegebene Feld auf die Spaltenposition gezogen werden kann.

ActiveCell.PivotField.DragToColumn = True

DragToData True, wenn das angegebene Feld an die Datenposition gezogen werden kann.

ActiveCell.PivotField.DragToData = True

DragToHide True, wenn das Feld ausgeblendet werden kann, indem es aus dem PivotTable-Bericht gezogen wird.

ActiveCell.PivotField.DragToHide = True

DragToPage True, wenn das Feld auf die Seitenposition gezogen werden kann.

ActiveCell.PivotField.DragToPage = True

DragToRow True, wenn das Feld auf die Zeilenposition gezogen werden kann.

ActiveCell.PivotField.DragToRow = True

DrilledDown True, wenn das Kennzeichen für das angegebene PivotTable-Feld oder PivotTable-Element auf "Drilled" (eingeblendet oder sichtbar) festgelegt wurde.

ActiveCell.PivotField.DrilledDown = True

EnableItemSelection Wenn diese Eigenschaft auf False festgelegt ist, wird die Möglichkeit zur Verwendung der Dropdownliste für Felder der Benutzeroberfläche deaktiviert.

ActiveCell.PivotField.EnableItemSelection = True

EnableMultiplePageItems Wird verwendet, um anzugeben, ob in der Dropdownliste Filter für Felder im Seitenbereich Kontrollkästchen vorhanden sind.

ActiveCell.PivotField.EnableMultiplePageItems = True

Function Gibt die Funktion zum Summieren des PivotTable-Felds (nur Datenfelder) zurück oder legt diese fest.

ActiveCell.PivotField.Function = xlAverage

GroupLevel Gibt die Position des angegebenen Felds innerhalb einer Gruppe von Feldern zurück (wenn das Feld zu einer aus Feldern bestehenden Gruppe gehört).

Dim lngGroupLevel As Long
lngGroupLevel = ActiveCell.PivotField.GroupLevel

Hidden Mit dieser Eigenschaft werden die einzelnen Ebenen einer OLAP-Hierararchie ausgeblendet.

ActiveCell.PivotField.Hidden = True

HiddenItems Gibt ein Objekt zurück, das ein einzelnes ausgeblendetes PivotTable-Element (ein PivotItem -Objekt) oder eine Auflistung aller ausgeblendeten Elemente (ein PivotItems -Objekt) im angegebenen Feld darstellt.

Dim pvtiHiddenItems As PivotItem
Set pvtiHiddenItems = ActiveCell.PivotField.HiddenItems

HiddenItemsList Gibt einen Variant-Wert zurück, der ein Array aus Zeichenfolgen angibt, bei denen es sich um verborgene Elemente für ein PivotTable-Feld handelt, oder legt diesen fest.

ActiveCell.PivotField.HiddenItemsList =

IncludeNewItemsInFilter Entwickler können angeben, ob aus- oder eingeschlossene Elemente überwacht werden sollen, wenn das PivotField manuell gefiltert wird.

ActiveCell.PivotField.IncludeNewItemsInFilter = True

IsCalculated True, wenn das PivotTable-Feld ein berechnetes Feld oder Element ist.

Dim booIsCalculated As Boolean
booIsCalculated = ActiveCell.PivotField.IsCalculated

IsMemberProperty Gibt true zurück, wenn das PivotField Elementeigenschaften enthält.

Dim booIsMemberProperty As Boolean
booIsMemberProperty = ActiveCell.PivotField.IsMemberProperty

LabelRange Gibt ein Range -Objekt zurück, das die Zelle (oder Zellen) darstellt, die die Feld Bezeichnung enthalten.

Dim rngLabelRange As Range
Set rngLabelRange = ActiveCell.PivotField.LabelRange

LayoutBlankLine True, wenn hinter dem angegebenen Zeilenfeld in einem PivotTable-Bericht eine leere Zeile eingefügt wird.

ActiveCell.PivotField.LayoutBlankLine = True

LayoutCompactRow Gibt an, ob ein PivotField beim Auswählen von Zeilen ein Kurzformat erhalten soll (Elemente mehrerer PivotFields werden in einer einzelnen Spalte angezeigt).

ActiveCell.PivotField.LayoutCompactRow = True

LayoutForm Gibt die Art der Anzeige der angegebenen PivotTable-Elemente (Tabellenformat oder Gliederungsformat) zurück oder legt sie fest.

ActiveCell.PivotField.LayoutForm = xlOutline

LayoutPageBreak True, wenn hinter jedem Feld ein Seitenumbruch eingefügt wird.

ActiveCell.PivotField.LayoutPageBreak = True

LayoutSubtotalLocation Gibt die Position der Teilergebnisse des PivotTable-Felds in Bezug auf das angegebene Feld (darüber oder darunter) zurück oder legt diese fest.

ActiveCell.PivotField.LayoutSubtotalLocation = xlAtBottom

MemoryUsed Gibt die Arbeitsspeichermenge in Byte zurück, die derzeit vom Objekt beansprucht wird.

Dim lngMemoryUsed As Long
lngMemoryUsed = ActiveCell.PivotField.MemoryUsed

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

ActiveCell.PivotField.Name =

NumberFormat Gibt einen String-Wert zurück, der den Formatierungscode für das Objekt darstellt, oder legt diesen Wert fest.

ActiveCell.PivotField.NumberFormat =

Orientation Gibt einen XlPivotFieldOrientation -Wert zurück, der die Position des Felds im angegebenen PivotTable-Bericht darstellt, oder legt diesen fest.

ActiveCell.PivotField.Orientation = xlColumnField

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

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

ParentField Gibt ein PivotField -Objekt zurück, das das PivotTable-Feld darstellt, das das übergeordnete Element des angegebenen Objekts ist.

Dim pvtfParentField As PivotField
Set pvtfParentField = ActiveCell.PivotField.ParentField

ParentItems Gibt ein Objekt zurück, das ein einzelnes PivotTable-Element (ein PivotItem -Objekt) oder eine Auflistung aller Elemente (ein PivotItems -Objekt) darstellt, die im angegebenen Feld Gruppen übergeordnet sind.

Dim pvtiParentItems As PivotItem
Set pvtiParentItems = ActiveCell.PivotField.ParentItems

PivotFilters Gibt die PivotFilters für das angegebene PivotField-Objekt zurück oder legt diese fest.

Dim pfsPivotFilters As PivotFilters
Set pfsPivotFilters = ActiveCell.PivotField.PivotFilters

Position Gibt einen Variant -Wert zurück, der die Position des Felds (erste, zweite, dritte usw.) unter allen Feldern in seiner Ausrichtung (Zeilen, Spalten, Seiten, Daten) darstellt, oder legt diesen fest.

ActiveCell.PivotField.Position =

PropertyParentField Gibt ein PivotField-Objekt zurück, das das Feld darstellt, zu dem die Eigenschaften in diesem Feld gehören.

Dim pvtfPropertyParentField As PivotField
Set pvtfPropertyParentField = ActiveCell.PivotField.PropertyParentField

RepeatLabels Gibt zurück oder legt fest, ob Elementnamen für das angegebene PivotField in der PivotTable wiederholt werden.

ActiveCell.PivotField.RepeatLabels = True

ServerBased True, wenn es sich bei der Datenquelle des angegebenen PivotTable-Berichts um eine externe Datenquelle handelt und nur die Elemente abgerufen werden, die dem markierten Seitenfeld entsprechen.

ActiveCell.PivotField.ServerBased = True

Subtotals Gibt die mit dem angegebenen Feld angezeigten Teilergebnisse zurück oder legt diese fest.

ActiveCell.PivotField.Subtotals = True

TotalLevels Gibt die Gesamtanzahl der Felder in der aktuellen Feldgruppierung zurück.

Dim lngTotalLevels As Long
lngTotalLevels = ActiveCell.PivotField.TotalLevels

Value Gibt einen String-Wert zurück, der den Namen des angegebenen Felds im PivotTable-Bericht darstellt, oder legt diesen fest.

ActiveCell.PivotField.Value =

VisibleItems Gibt ein Objekt zurück, das ein einzelnes sichtbares PivotTable-Element (ein PivotItem -Objekt) oder eine Auflistung aller sichtbaren Elemente (ein PivotItems -Objekt) im angegebenen Feld darstellt.

Dim pvtiVisibleItems As PivotItem
Set pvtiVisibleItems = ActiveCell.PivotField.VisibleItems

VisibleItemsList Gibt einen Variant-Wert zurück, der ein Array von Zeichenfolgen angibt, die eingeschlossene Elemente in einem auf ein PivotField angewendeten manuellen Filter darstellen, oder legt diesen fest.

ActiveCell.PivotField.VisibleItemsList =

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

Dim lngCount As Long
lngCount = ActiveCell.PivotTable.VisibleFields.Count

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

Dim pvtParent As PivotTable
Set pvtParent = ActiveCell.PivotTable.VisibleFields.Parent