getpivotdata Laufzeitfehler 1004 - wie bekomme ich die Gesamtsumme einer Pivot-Tabelle in eine Variable?

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von cry.baby.

    getpivotdata Laufzeitfehler 1004 - wie bekomme ich die Gesamtsumme einer Pivot-Tabelle in eine Variable?

    Hallo liebe Forum Mitglieder,

    heute benötige ich schon wieder dringend eure Hilfe. Ich versuche verzweifelt aus einer Pivottabelle die Gesamtsumme in eine Variable zu schreiben, die ich dann später in einem Makro weiterverarbeite.

    Ich habe bereits über Makrorekorder versucht, die exakten "Feldnamen" der Pivot-Tabelle zu bekommen.
    Ergebnis: ActiveCell.FormulaR1C1 = "=GETPIVOTDATA(""[Measures].[Proposal Value Euro]"",R10C1)"

    Diese Formel habe ich nun versucht für VBA umzuwandeln und habe folgendes Testmakro geschrieben:

    'ExcelVersion 2013

    Sub test3()
    Dim i As Long
    Set Pivot_Table = ActiveSheet.PivotTables("PivotTable2")
    i = Pivot_Table.GetPivotData("Measures", "Proposal Value Euro")
    End Sub

    Leider bekomme ich hier immer die Fehlermeldung: Laufzeitfehler 1004.

    Ehrlich gesagt, ich verstehe die Welt nicht mehr. Auch Recherchen via Google etc. haben mir nicht weitergeholfen. Es gibt zwar 1000 Hilfen zu diesem Thema, aber ich bekomme es einfach nicht hin dieses simple Makro zum laufen zu bekommen.

    Ich hoffe sehr, dass ihr mir weiterhelfen könnt.

    Vielen Dank schon mal, Jörg
    Hast Du es mal mit Double für Deine Variable i versucht? Laufzeitfehler 1004 treten häufig auf, wenn Objekte falsch definiert wurden und wenn Du die Summe für Euro in die Variable packen möchtest, liegt das am nächsten.

    ...ich sehe gerade, dass Du Deine Pivot_Table nicht als PivotTable deklariert hast:

    Dim Pivot_Table as PivotTable
    Set Pivot_Table = ActiveSheet.PivotTables("PivotTable2")

    Ansonsten würde ich einfach die Zelle dynamisch mit Select auswählen und dann kannst du ActiveCell.FormulaR1C1 aus dem MakroRecord übernehmen. Wieso nicht? Bedenke; der Makrorekorder ist Dein Freund!

    Ansonsten hat es bei mir wie folgt funktioniert:

    Visual Basic-Quellcode

    1. i = Pivot_Table.GetPivotData(DataField:="Proposal Value Euro")

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „cry.baby“ ()

    Update:
    Hallo cry.baby,

    ich habe es jetzt mit der dynamischen Auswahl versucht, und es klappt wunderbar. Nochmals vielen Dank für den Tipp.

    Schöne Grüße

    Jörg

    ***

    Hallo cry.baby,

    vielen Dank für deine Hilfe. Sorry, dass ich erst heute antworte, aber ich bin erst heute wieder im Büro.

    Ich habe es jetzt mal mit deinen Tipps versucht (Dim as Long, Pivot_Table als PivotTable deklariert ...) Leider bekomme ich immer noch die Fehlermeldung 1004 :(

    Aber ich werde jetzt mal deinen anderen Tipp versuchen und das ganze Dynamisch auswählen.

    Nochmals vielen Dank, und dir noch eine schöne Woche.

    Jörg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „joerg_W“ ()