Excel 2013 - VBA - GetPivotData

MickH74

Lieutenant
Registriert
Apr. 2009
Beiträge
600
Hallo liebes Forum,

habe eine Tabelle und daraus eine Pivottabelle erstellt. Nun möchte ich Daten über VBA Daten mit der Funktion GetPivotData auslesen, aber ich erhalte immer den Laufzeitfehler 1004.
Obwohl ich die an sich große Tabelle der Daten und auch den Code in der Sub schon auf ein Minimum geschrumpft habe (einfach um Fehler
auszuschließen) will es nicht funktionieren. Was mache ich falsch?

Code:
Sub Test_GetPD()

    Dim Ergebnis As Variant
    Dim pt As PivotTable
    
    Set pt = Sheets("PivotTable").PivotTables("MyPivotTable")
        
    Ergebnis = pt.GetPivotData("1 KG", "Profitcenter", "Farben")
    
    Debug.Print Ergebnis

End Sub

Den Namen der Pivottabelle kann ich mit

Code:
Debug.Print pt.name

auslesen. Die Pivottabelle wird also richtig erkannt.
Beim Debuggen wird nach einem Mausover über "Ergebnis" im Popup Ergebnis = "" angezeigt. Es scheint also, als ob die Bezeichnung von einer oder mehreren Spalten (also "1 KG", "Profitcenter" oder "Farben") nicht erkannt wird. Die Schreibweise habe ich aber mehrfach geprüft und es auch schon mit anderen Spalten in der Pivottabelle (also Kundennamen, Länder, Produkten...) probiert.
Auch ein Ändern von "1 KG" in "Summe von 1 KG" macht keinen Unterschied. Der Fehler bleibt.

Siehe auch Anhang.

Danke schonmal!
Mick
Ergänzung ()

Hab gerade gesehen, dass die Funktion GetPivotData ein Range und kein Value zurück gibt. Aber auch mit

Code:
Ergebnis = pt.GetPivotData("1 KG", "Profitcenter", "Farben").Value

bleibt der Fehler.
 

Anhänge

  • GetPivotDataError.JPG
    GetPivotDataError.JPG
    124,7 KB · Aufrufe: 519
Nicht sicher, was du vorhast, aber ich glaube, du nutzt einfach die falsche Methode des PivotChart-Objekts.

Versuche mal
Code:
pt.GetData("'Summe von Menge' Farben 'März'")
 
Hi,

ich möchte die Funktion zur Abfrage von Werten aus einer PivotTabelle nutzen. Also z.B. Summe der Umsätze von Kunde X im Jahr 2016.

Da erscheint mir die GetPivotData-Methode schon die Richtige zu sein:
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/pivottable-getpivotdata-method-excel

Bei deinem Vorschlag kommt auch Laufzeitfehler 1004, aber mit dem Hinweis "Die Formel ist unvollständig..."
Ergänzung ()

Hab den Fehler gefunden: die Summen der Zeilen und Spalten ist in den Optionen der Pivottabelle ausgeschaltet und ein Feld, dass nicht angezeigt wird, kann auch nicht ausgelesen werden.
Also die Summen aktiviert und schon funktioniert es.
 
Zuletzt bearbeitet:
Zurück
Oben