01.12.2023, 13:47 (Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2023, 09:12 von Kuwer.)
Hallo ich möchte das wenn ich die Liste beende, automatisch die Filter gelöscht werden.
Ich habe zwar einen VBA Code aber der geht nicht.
Wer kann mir da weiterhelfen.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
For Each ws In Worksheets
If ws.AutoFilterMode Then
ws.AutoFilterMode = False
End If
Next ws
End Sub
01.12.2023, 15:02 (Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2023, 15:02 von Franke.)
Ja das ist ja mein Problem.
Wenn ich die Mappe speichere sollen die Filter zurückgesetzt werden.
Oder ist es besser wenn man die Mappe öffnet, das die Filter zurückgesetzt werden.
Da habe ich diesen Code gefunden.
Aber der geht auch nicht
Code:
Private Sub Workbook_Open()
'Updated by Extendoffice 20221012
Dim ws As Worksheet
For Each ws In Worksheets
If ws.AutoFilterMode Then
ws.ShowAllData
End If
Next ws
End Sub
Du machst die falsche Vba-Prüfung, denn im vorhandenen Tabellenblatt verwendest Du nicht das AutoFilter-Objekt des Arbeitsblattes, sondern das FilterObjekt der Intelligenten Tabelle 'Tabelle15': also
ws.ListObjects("Tabelle15").AutoFilter.FilterMode
01.12.2023, 20:08 (Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2023, 20:13 von Franke.)
Könnt ihr mir noch mal helfen.
Bekomme eine Fehlermeldung.
Was muss ich noch ändern.
Zeigt mir ws.ShowAllData als Fehler an.
Code:
Private Sub Workbook_Open()
'Filter in einer Intelegenten Tabelle beim beenden rücksetzen
Dim ws As Worksheet
For Each ws In Worksheets
If ws.ListObjects("Tabelle15").AutoFilter.FilterMode Then
ws.ShowAllData
End If
Next ws
End Sub
Private Sub Workbook_Open()
Dim ws As Worksheet
Dim oListe As ListObject
For Each ws In Worksheets
For Each oListe In ws.ListObjects
If oListe.AutoFilter.FilterMode Then
oListe.AutoFilter.ShowAllData
End If
Next oListe
Next ws
End Sub