Pivot Tabelle - Benutzerdef. Name auslesen
#1
Servus zusammen,

ich versuche grad, den Aufbau einer Pivot Tabelle zu analysieren.

.xlsm   BL1972_PivotTabelle.xlsm (Größe: 90,4 KB / Downloads: 2)
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
Top
#2
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
Top
#3
Hallöchen,

ich schiebe auch mal nach Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
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
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • LB1972
Top
#5
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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste