Ich möchte alle meine Filter zurücksetzen, wenn ich eine Arbeitsmappe speichere. Zur Zeit habe ich:Abrufen eines Makros beim Speichern
Sub ResetFilters()
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Call ResetFilters
Next
Cancel = False
End Sub
Die Idee ist, dass wenn ich speichere, ich alle Filter entfernen. Es funktioniert aus irgendeinem Grund nicht - hat jemand eine Idee warum?
Edit: mehr googeln fand die Antwort: Excel VBA - Run macro before save
Tl; dr: Immer Google mit dem Schlüsselwort in Stackoverflow - es dramatisch
zunächst nicht verwenden On Error Resume Next, diese Linie im Grunde umgehen Fehler, die Probleme verursachen könnten. Außerdem würde ich etwas wie "Cncl" anstelle von "Abbrechen" als eine Variable verwenden, um zu vermeiden, versehentlich ein Schlüsselwort zu verwenden. Ändern Sie diese 2 und sehen Sie, was das Programm Ihnen sagt. – Alex
Ich habe es - es war der Ort, wo ich das Modul gespeichert habe. Wenn Sie einen besseren Weg finden, um Filter zu entfernen, würde ich mich freuen, es zu hören - ich muss noch eine bessere Methode finden – Selkie
Ich denke, dass Sie ein Problem mit Ihrer Verwendung von ActiveSheet haben werden. Sie sollten ws an ResetFilters übergeben und ws anstelle von ActiveSheet verwenden. –