01.12.2023, 14:47 (Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2023, 10: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, 16:02 (Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2023, 16: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, 21:08 (Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2023, 21: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