Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pivotfilter zurücksetzen (alle Hacken entfernen)

Pivotfilter zurücksetzen (alle Hacken entfernen)
13.03.2014 08:51:51
Nik
Guten Morgen zusammen,
ich möchte in diversen Pivottabellen mittels Variable in den Spaltenbeschriftungen jeweils den Monat setzen lassen:
Sub Pivotsetting()
Application.ScreenUpdating = False
Dim a As String
Dim b As String
Dim c As String
a = Worksheets("Controll").Range("A1").Value
b = Worksheets("Controll").Range("A2").Value
c = Worksheets("Controll").Range("A3").Value
ActiveSheet.PivotTables("PivotTable2").PivotFields("Auswertungsmonat").ClearAllFilters
With Worksheets("Ubersicht nach Co-Brands").PivotTables("PivotTable2").PivotFields(" _
Auswertungsmonat")
.PivotItems(a).Visible = True
.PivotItems(b).Visible = True
.PivotItems(c).Visible = True
End With
Application.ScreenUpdating = True
End Sub

Er macht auch etwas, aber von der vorherigen Filterung sind noch die alten Filter gesetzt. Eigentlich dachte ich das ich mit
ActiveSheet.PivotTables("PivotTable2").PivotFields("Auswertungsmonat").ClearAllFilters
das Problem löse, aber das macht genau das Gegenteil. Ich möchte zuerst im Filter alle Hacken entfernen und dann die Hacken mit den Variablen setzen. Ich habe auch einiges gelesen hier, aber das war eher genau andersherum.
Hat jemand eine Idee wie ich das Problem löse? Sprich das mir jedesmal nur die Filter gesetzt werden die durch die Variablen vorgegeben sind?
Danke und Gruss
Nik

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Pivotfilter Ausgangslage = Alle Häkchen
13.03.2014 12:43:41
Raphael
Hallo Nik,
hast du schon mal versucht in einer Pivottabelle alle Haken zu entfernen?
Du wirst feststellen, dass das nicht geht. Mit ClearAllFilters werden alle Häkchen wieder gesetzt, da der Ursprungszustand mit allen Häkchen ist.
Du musst also ein wenig umdenken und jene abwählen die du nicht willst und nicht umgekehrt.
Gruess
Raphael

Anzeige
AW: Pivotfilter Ausgangslage = Alle Häkchen
13.03.2014 13:10:56
Nik
Hi Raphael,
eben, das habe ich gestern auch gemerkt, dass das eben auch manuell nicht geht, aber ich hatte die Hoffnung dass das vielleicht irgendwie mit VBA geht...die Hoffnung stirbt ja bekannterweise zuletzt.
Ja, werde mir Gedanken machen müssen...werde wohl ein paar Variablen mehr machen müssen und so irgendwie eine Automatisation hineinbringen zu können.
Auf jeden Fall Dir vielen lieben Dank fürs Feedback.
Gruss
Nik

Anzeige
AW: Pivotfilter zurücksetzen (alle Hacken entfernen)
13.03.2014 14:25:46
EtoPHG
Hallo Nik,
Was hackst du da? Holz oder Erde? ...oder bist du sogar ein Hacker?
Mit diesem Code in einem Modul werden alle Pivotdaten/Filter von altem Balast befreit:
Sub DeleteOldPivotItemsWB()
'Basierend auf MSKB (Q202232) & T.Ramel-Codes
' ab Excel Version 2002
Dim wS As Worksheet
Dim pT As PivotTable
For Each wS In ActiveWorkbook.Worksheets
For Each pT In wS.PivotTables
pT.ManualUpdate = True
pT.PivotCache.MissingItemsLimit = xlMissingItemsNone
pT.RefreshTable
pT.ManualUpdate = False
Next pT
Next wS
End Sub
Gruess Hansueli

Anzeige
Pivotfilter zurücksetzen (alle Hacken entfernen)
13.03.2014 15:52:34
Nik
Hallo Hansueli,
sorry, ich habe Deinen Post erst jetzt gesehen. Nicht das ich den Code verstehen würde, aber er hat bis auf einen Eintrag alles gelöscht und das in jeder Pivottabelle im File.
Aber wie mache ich das jetzt das er mir jetzt die Filter setzt für die ich Variablen habe? Also das er den einen Eintrag den er drin gelassen hat dann auch noch rausnimmt? Das mit Filtern setzen ist klar, das habe ich ja schon geschafft..
Vielen Dank und Gruss
Nik

Anzeige
AW: Pivotfilter zurücksetzen (alle Hacken entfernen)
13.03.2014 16:02:12
EtoPHG
Hallo Nik,
Ich kenne deine Mappe und Daten nicht. Ich hatte bis jetzt nie Probleme, dass nach dem Codedurchlauf noch irgendwelche Altlasten zurückblieben. Darum könnte ich nur mit der Analyse einer Beispielmappe, in der dies passiert, so wie du beschreibst, mehr dazu sagen.
Gruess Hansueli

Anzeige
Pivotfilter zurücksetzen (alle Hacken entfernen)
13.03.2014 17:41:23
Nik
Hallo Hansueli,
DANKE für Dein Feedback. Bin grad noch etwas am testen, aber ich denke, zumindest das was ich sehe funktioniert jetzt. Werde das ganze aber nochmals mit einer kleineren Datei ausprobieren um dem Code etwas besser zu verstehen. Zumindest für mich ist er dann doch etwas schwieriger..
Danke und Gruss
Nik
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Pivotfilter zurücksetzen: Alle Häkchen entfernen


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei mit der Pivottabelle, die du zurücksetzen möchtest.

  2. Aktiviere den Entwicklermodus in Excel, falls noch nicht geschehen. Gehe zu Datei > Optionen > Menüband anpassen und aktiviere die Option "Entwicklertools".

  3. Füge einen neuen VBA-Code hinzu:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
    • Kopiere und füge folgenden Code ein, um alle Filter in der Pivottabelle zurückzusetzen:
    Sub ResetPivotFilters()
       Dim pT As PivotTable
       Dim pF As PivotField
    
       Set pT = ActiveSheet.PivotTables("PivotTable2") ' Ändere den Namen nach Bedarf
       For Each pF In pT.PivotFields
           pF.ClearAllFilters
       Next pF
    End Sub
  4. Führe das Makro aus, um die Filter zurückzusetzen. Du kannst das Makro über das Menü Entwicklertools > Makros ausführen.

  5. Setze die gewünschten Filter anschließend mit den Variablen, die du in deinem ursprünglichen Code verwendet hast.


Häufige Fehler und Lösungen

  • Fehler: Nach dem Ausführen des Codes sind immer noch alte Filter sichtbar.

    • Lösung: Stelle sicher, dass du die Methode ClearAllFilters für alle relevanten PivotFields aufrufst.
  • Fehler: Der Code funktioniert nur für eine bestimmte Pivottabelle.

    • Lösung: Achte darauf, den Namen der Pivottabelle im Code korrekt anzugeben.

Alternative Methoden

Wenn du eine Pivottabelle zurücksetzen möchtest, ohne VBA zu verwenden, kannst du dies manuell tun:

  1. Klicke auf die Pivottabelle.
  2. Gehe zu PivotTable-Analyse > Filter.
  3. Wähle Alle Filter entfernen, um alle Häkchen zu deaktivieren.

Für Excel-Versionen vor 2002 könnte die Funktionalität variieren. In diesen Fällen ist VBA oft die bessere Wahl.


Praktische Beispiele

Hier ist ein Beispiel, wie du alte Filterwerte löschen und neue Filter setzen kannst:

Sub UpdatePivotFilters()
    Dim a As String
    Dim b As String
    Dim c As String

    a = Worksheets("Controll").Range("A1").Value
    b = Worksheets("Controll").Range("A2").Value
    c = Worksheets("Controll").Range("A3").Value

    Dim pT As PivotTable
    Set pT = ActiveSheet.PivotTables("PivotTable2")

    ' Alte Filter zurücksetzen
    pT.PivotFields("Auswertungsmonat").ClearAllFilters

    ' Neue Filter setzen
    With pT.PivotFields("Auswertungsmonat")
        .PivotItems(a).Visible = True
        .PivotItems(b).Visible = True
        .PivotItems(c).Visible = True
    End With
End Sub

Dieser Code entfernt alle alten Filter und setzt die gewünschten Filter basierend auf den Werten in den Zellen A1, A2 und A3.


Tipps für Profis

  • Verwende VBA-Filter für komplexe Anforderungen. Die PivotFilters-Eigenschaft bietet viele Optionen zur Anpassung deiner Pivottabellen.
  • Denke daran, den Pivot-Cache zu löschen, wenn du die Daten aktualisieren möchtest. Dies kann helfen, alte Daten zu entfernen und die Leistung zu verbessern.
  • Überlege, die Pivot-Tabelle zu deaktivieren, wenn du eine große Datenmenge verarbeiten musst. Dies kann die Geschwindigkeit erhöhen.

FAQ: Häufige Fragen

1. Wie setze ich alle Filter in Excel zurück?
Du kannst alle Filter zurücksetzen, indem du auf das Dropdown-Menü des Filters klickst und die Option "Alle auswählen" wählst.

2. Was ist das Gegenteil von Löschen in einer Pivottabelle?
Das Gegenteil von Löschen wäre das Zurücksetzen oder Deaktivieren der Filter, um alle Daten anzuzeigen.

3. Kann ich die Filter auch mit einer Excel-Formel zurücksetzen?
Leider ist es nicht möglich, Filter direkt mit einer Excel-Formel zurückzusetzen. VBA ist hier die beste Lösung.

4. Was passiert, wenn ich ClearAllFilters aufrufe?
Das Aufrufen von ClearAllFilters entfernt alle gesetzten Filter für das angegebene PivotField und zeigt alle Daten an.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige