Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pivot Filter autom. übernehmen

Pivot Filter autom. übernehmen
10.09.2022 09:55:31
Marcel
Hallo zusammen,
ich habe (als absoluter vba Anfänger) ein Problem mit einem Makro, das einen Filter einer Pivot ändern soll und dann die Pivottabelle auch aktualisieren soll.
Ich habe zwar bereits diesen (https://www.herber.de/forum/archiv/1080to1084/1080552_PivotFilter_ueber_Zellinhalt_steuern.html#google_vignette)
Beitrag gelesen und der hat mir auch sehr geholfen, allerdings bekomme ich folgende Fehler ausgeworfen wenn ich das Makro starte:
Laufzeitfehler ‚1004‘ Anwendungs- oder objektdefinierter Fehler.
In Tabelle „Übersicht“ wähle ich aus, welche Produktuntergruppe ich sehen möchte (Zelle D6) und diese Auswahl soll dann in den Pivotfilter im Tabellenblatt „Datenzugriff“ (Zelle B3) übernommen werden.
https://www.herber.de/bbs/user/155095.xlsx
Mein Codes dafür sind die beiden folgenden:

Private Sub Worksheet_Change(ByVal Target As Range)
Call PivAendern
End Sub
Code 2:

Sub PivAendern()
With Sheets("Datenzugriff").PivotTables(1)
.PivotFields("Prod-Unt-Grp").CurrentPage = Sheets("Übersicht").[D6].Value
.PivotCache.Refresh
End With
End Sub
Für eure Hilfe bin ich euch super dankbar!
Vielen Dank für euch im Voraus.
Viele Grüße
Marcel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot Filter autom. übernehmen
10.09.2022 12:46:51
Fennek
Hallo,
für die linke Tabelle sollte das gehen:

Sub Filter_auswaehlen()
Dim Pt As PivotTable, Pit As PivotItem, aPIt As String
Set Pt = Sheets("Datenzugriff").PivotTables("PivotTable2")
aPIt = Sheets("Übersicht").Cells(6, 4)
Pt.PivotFields("Prod-Unt-Grp").PivotItems(aPIt).Visible = True
For Each Pit In Pt.PivotFields("Prod-Unt-Grp").PivotItems
If Pit.Name  aPIt Then Pit.Visible = False
Next Pit
End Sub
Für die rechte versuche es nach diesem Schema.
mfg
AW: Pivot Filter autom. übernehmen
10.09.2022 12:55:39
Fennek
Ideen gestalten die Zukunft
Wir suchen nach Ideen, mit denen es uns gelingt, immer wieder Wege zu finden, neue Produkte und Lösungen zu gestalten. Einsatzbereitschaft und Qualitäts-Orientierung ermöglichen es, mit unseren Mitarbeitern und unseren Kunden eine erfolgreiche Zukunft zu erarbeiten.
Ja, wie wäre es einen VBA-Spezialisten zu beschäftigen?
Anzeige
AW: Pivot Filter autom. übernehmen
10.09.2022 14:16:10
Fennek
In den Code des sheets("Übersicht"):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$6" Then
Filter_auswaehlen
End If
End Sub
In ein allgemeinses Modul:

Sub Filter_auswaehlen()
Dim Pt As PivotTable, Pit As PivotItem, aPIt As String
aPIt = Sheets("Übersicht").Cells(6, 4)
Set Pt = Sheets("Datenzugriff").PivotTables("PivotTable2")
Pt.PivotFields("Prod-Unt-Grp").PivotItems(aPIt).Visible = True
For Each Pit In Pt.PivotFields("Prod-Unt-Grp").PivotItems
If Pit.Name  aPIt Then Pit.Visible = False
Next Pit
Set Pt = Sheets("Datenzugriff").PivotTables("PivotTable1")
Pt.PivotFields("Prod-Unt-Grp").PivotItems(aPIt).Visible = True
For Each Pit In Pt.PivotFields("Prod-Unt-Grp").PivotItems
If Pit.Name  aPIt Then Pit.Visible = False
Next Pit
End Sub

Anzeige
AW: Pivot Filter autom. übernehmen
12.09.2022 17:00:09
Marcel
Hallo Fennek,
das hat funktioniert. Vielen Dank!
Beste Grüße
Marcel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige