Power-Pivot-Tabelle - Schleife durch die Felder im Berichtsfilter
Haftungsausschluss: Diese Frage wurde veröffentlicht in msdn-forum aber da habe ich nicht bekommen, keine Antwort (überraschenderweise) bin ich cross-posting ist es auch hier. Möglicherweise möchten Sie überprüfen, dass die Verbindung, bevor Sie versuchen diese Frage. Ich würde nicht wollen, dass Sie Ihre Zeit verschwenden, wenn eine Lösung gepostet wurde in dem link 🙂
Problem: ich möchte herausfinden, die Feldnamen im Report-Filter. Also ich bin auf der Suche nach RegionCountryName
, Cityname
und ProductKey
. Der Bericht Filter sind dynamisch und kann sich ändern.
Screenshot:
Was habe ich versucht: ich habe überprüft jede Eigenschaft der Power-Pivot, aber es ist keine Eigenschaft, die ich finden konnte, die ließ mir die Schleife durch die Felder des power pivot.
Habe ich versucht, auch diesen code, aber es anscheinend geben mir eine Fehlermeldung auf Set pf = pt.PageFields(1)
Sub Sample()
Dim pt As PivotTable, pi As PivotItem, pf As PivotField
Dim lLoop As Long
Set pt = Sheet1.PivotTables(1)
Set pf = pt.PageFields(1)
For Each pi In pf.PivotItems
Debug.Print pi.Name
Next pi
End Sub
Fehler ScreenShot
So was bin ich? Oder gibt es einen anderen Ansatz, den ich nehmen sollte?
BEARBEITEN
Wenn jemand will, um damit zu Experimentieren, kann die Datei heruntergeladen werden HIER ich freue mich auf die Inventory
Blatt.
- Nur ein schneller Riss, aber warum ist die
PivotField.PivotFilters
Eigenschaft, die nicht hier arbeiten? - Vielen Dank für einen Graben an.
pf.PivotFilters.Count
geben, mich 0 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach einigen Tests scheint es, dass Sie können die Liste von Seite filter-Feldern durch die Auflistung der PivotFields und prüfen, ob der Wert Ihrer Eigenschaft "Ausrichtung" ist gleich XlPageField. Versuchen Sie den folgenden code :
Hoffe, das hilft
For each pf in pt.PivotFields
gibt mir einRun Time Error 13, Type Mismatch
. Wenn Sie möchten, zu Experimentieren, Sie können download es von hierWenn Sie ändern sich pt.pivotfields zu pt.pagefields in der post von realce_net es laufen sollte. Wie der Microsoft-Referenz sagt, pagefields eingeführt wurde, mit Office 2013.
Mehr als 2 Jahre vergangen, seit die ursprüngliche Frage erhoben worden, doch noch immer konnte ich nicht finden, eine befriedigende Antwort...
ABER ich fand einen Weg um 🙂
Ändern können Sie eine PowerPivot-Tabelle über SLICER zu.
Habe ich dieses code zu ändern, die im ausgewählten Monat in meiner Datei:
Ich bin kein pro, aber ich hoffe es hilft.