Hallo,
ich benötige mal eure Hilfe. Ich habe nur gefährliches Halbwissen von VBA und weiß nie so recht, wo ich welchen Code hinschreiben muss (Arbeitsmappe, Modul oder hinter der jeweiligen Tabelle).
Ich möchte den Berichtsfilter einer Pivottabelle automatisch ändern. Dieser soll auf einen anderen Reiter zugreifen, in dem ich eine Tabelle manuell mit Zahlen fülle.
Ich habe beispielhaft eine Datei angehängt. Hier möchte im Reiter "Eingabe" in C4 die Zahl 22222 eingeben und die Pivottabelle im Reiter "gemeldete Zeiten_Tabelle" soll sich automatisch anpassen.
So, ich habe nun ein bisschen weitergebastelt. Komisch: In meiner vereinfachten Testdatei funktioniert der Code einwandfrei - in meiner Originaldatei nicht
Hier der Code: Ich habe den jetzt unter "Diese Arbeitsmappe":
Sub PivotRMNrSetzen()
Dim Pivot1 As PivotTable
Dim cnummer As Integer
cnummer = Worksheets("Eingabe").Range("$C$4").Value
Set Pivot1 = Worksheets("gemeldete Zeiten_Tabelle").PivotTables("PivotTable1")
With Pivot1
.PageFields(1).CurrentPage = cnummer
End With
End Sub
Sub Seitenfeld_mit_Rekorder_setzen()
Dim cnummer As Integer
Dim Pivot1 As PivotTable
Set Pivot1 = Worksheets("gemeldete Zeiten_Tabelle").PivotTables("PivotTable1")
cnummer = Worksheets("Eingabe").Range("$C$4").Value
With Pivot1
.PivotFields(1).CurrentPage = cnummer
End With
End Sub
Ich erhalte beim Ausführen einen Fehler:
Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler
Kann mir wer weiterhelfen?
Grüße,
Marina
|