Filter zurücksetzen

Bild

Betrifft: Filter zurücksetzen
von: JB
Geschrieben am: 23.11.2015 10:48:37

Hallo,
ich habe Schwierigkeiten damit, die Filter in meiner Datentabelle zurückzusetzen. Ich möchte bevor ich die Daten aus der jeweiligen Tabelle lösche, den Filter jeder Spalte wieder so einstellen, dass alle Daten angezeigt werden. Ich habe mehrere Tabellenblätter, die jeweils eine Datentabelle (Tabelle 1-Tabelle 4) enthalten.
Kann mir jemand sagen, wo in meinem Code das Problem liegt? Ich kriege die Fehlermeldung, dass die ShowAllData-Methode nicht ausgeführt werden konnte.

Sub Clear_Worksheets()
    Dim w As Variant
    Dim t As Integer
    Dim tables As Variant
    
    tables = Array("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle4")
    t = 0
    
    For Each w In Worksheets
    
        If w.Name Like "72*" Then
            Worksheets(w.Name).Select
            'Enable filter  (in Tabelle 1-16) to show all data
            ActiveSheet.ShowAllData
            Worksheets(w.Name).Range("A3:Q500").ClearContents 'Clear table
            t = t + 1
        End If
        
    Next
End Sub

Bild

Betrifft: AW: Filter zurücksetzen
von: Rudi Maintaire
Geschrieben am: 23.11.2015 10:58:36
Hallo,
eigentlich blöde, aber du musst erst abfragen, ob ein Filter gesetzt ist.
Select brauchst du nicht.

    For Each w In Worksheets    
        If w.Name Like "72*" Then
            'Enable filter  (in Tabelle 1-16) to show all data
            If w.Filtermode then w.ShowAllData
            w.Range("A3:Q500").ClearContents 'Clear table
            t = t + 1
        End If        
    Next
Gruß
Rudi

Bild

Betrifft: AW: Filter zurücksetzen
von: JB
Geschrieben am: 23.11.2015 11:17:52
Gut zu wissen! Vielen Dank für deine Hilfe.

Bild

Betrifft: AW: Filter zurücksetzen
von: JB
Geschrieben am: 24.11.2015 13:44:40
Irgendwie tut sich nichts. Obwohl ich folgenden Code ausführen lasse, warden keine Daten angezeigt und zwei Spalten sind noch gefiltert:
For Each w In Worksheets

If w.Name Like "72*" Then
'Enable filter to show all data
If w.AutoFilterMode = True Then w.ShowAllData
'If w.AutoFilterMode = True Then w.ShowAllData
w.Range("A3:Q500").ClearContents 'Clear table
End If

If w.Name Like "Analysis*" Then
If w.AutoFilterMode = True Then w.ShowAllData
w.Range("A3:Q500").ClearContents
End If
Next

Bild

Betrifft: soll ich jetzt ...
von: Rudi Maintaire
Geschrieben am: 24.11.2015 13:48:12
... meine Glaskugel befragen?

Bild

Betrifft: AW: Filter zurücksetzen
von: larilola
Geschrieben am: 26.11.2015 09:47:07
Ich habe das so gelöst:
Wenn du einen Datenschnitt hast wird der Filter dort gelöscht.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ActiveWorkbook.SlicerCaches("Datenschnitt_District").ClearManualFilter
    ActiveWorkbook.SlicerCaches("Datenschnitt_District1").ClearManualFilter
End Sub
Hast du nur einen normalen Filter müsste es eigentlich auch damit klappen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ActiveSheet.PivotTables("Tabellenname").PivotFields("District").ClearAllFilters
    ActiveSheet.PivotTables("Tabellenname").PivotFields("District").ClearAllFilters
End Sub

Ich habe es so eingefügt, dass der filter vor dem schließen zurückgesetzt wird.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Filter zurücksetzen"