Clever-Excel-Forum

Normale Version: Pivot Tabelle - Benutzerdef. Name auslesen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Servus zusammen,

ich versuche grad, den Aufbau einer Pivot Tabelle zu analysieren.
[attachment=31917]
Da möchte ich die Spaltenkopfbezeichnung der Quelltabelle ("Quellenname" laut Fenster Wertfeldeinstellung) mit den "Benutzerdefinierten Namen" in der Pivot-Sicht abgleichen.
Mein Ansatz dazu wäre, für alle Pivot-Felder Eigenschaften abzufragen und auf dem Tabellenblatt auszugeben:

Code:
Option Explicit

Sub PivotInfos()
   
    Dim pvt As PivotField
    Dim z As Integer
   
    z = 0
    For Each pvt In Tabelle1.PivotTables("PivotTable3").PivotFields
        z = z + 1
        Tabelle1.Range("Infotabelle").Cells(z, 1) = pvt.Name
    Next pvt
End Sub

Das funktioniert auch mit dem Quellennamen "Umsatz" (.Name) ganz problemlos, ich finde allerdings keine Eigenschaft des Pivotfelds, die mir den Benutzerdefinierten Namen "Ludwigs Umsatzsicht" bringt.
Kann mir jemand bitte weiterhelfen, wie ich an diese Eigenschaft (die ja irgendwo sein muss!) rankomme?

Vielen Dank schon mal für eure Hilfe
Gruß
Ludwig
Guten Morgen,

ich erlaube mir, nach 3 Tagen meine Frage nochmals obenauf zu legen.
Vielleicht hat ja jemand mit einer zündenden Idee, mein Anliegen gar nicht mehr finden können;
vielleicht ist auch an der einen oder anderen Stelle eine bessere Erläuterung meines Anliegens notwendig.
Danke
Gruß Ludwig
Hallöchen,

ich schiebe auch mal nach Smile
Hi

evtl. hilft dir das schon mal weiter.
Code:
Sub PivotInfos()
Dim pvt

With Tabelle1.PivotTables("PivotTable3")

    For Each pvt In .DataFields  'für Wertefelder
        MsgBox pvt.SourceName & " / " & pvt.Name
    Next pvt
   
    For Each pvt In .ColumnFields   'für Spaltenfelder
        MsgBox pvt.SourceName & " / " & pvt.Name
    Next pvt
   
End With
End Sub
Hallo Elex,

ja, hat geholfen.
Mein Code lautet jetzt:
Code:
Sub PivotInfos()
   
    Dim pvt As PivotField
    Dim z As Integer
   
    z = 1
    With Tabelle1.Range("Infotabelle")
        .Cells(z, 1) = "Pivot Spalte"
        .Cells(z, 2) = "Datenquelle"
    End With
    With Tabelle1.PivotTables("PivotTable3")
        For Each pvt In .DataFields
            z = z + 1
            With Tabelle1.Range("Infotabelle")
            .Cells(z, 1) = pvt.Name
            .Cells(z, 2) = pvt.SourceName
            End With
        Next pvt
    End With
End Sub
und tut das gewünschte.

Gruß Ludwig