ich stehe gerade vor einem Problem mit dem ich wirklich nicht gerechnet habe. Ich hab meine Tabelle mit einem Blattschutz versehen, damit die Formeln geschützt sind. Das Verwenden vom Autofilter habe ich explizit erlaubt. Nun ist mir aber aufgefallen, dass man die Filter über Start -> Sortieren und Filtern -> Löschen nicht zurücksetzen kann. Das finde ich sehr merkwürdig. Gibt es hier nicht einen Weg?
Durch die Hilfe des Forums habe ich bisher ein Makro erstellt, mit dem ich alle Filter zurücksetzen kann:
Code:
Sub Clear() ActiveSheet.Range("Tabelle1").ListObject.AutoFilter.ShowAllData ActiveSheet.Range("B1").Value = "" End Sub
Der Button funktioniert zwar, aber es erscheint immer die Fehlermeldung, dass der Blattschutz drin ist. Kann man dies irgendwie umgehen?
doch das funktioniert ganz prima - solange es keinen Blattschutz gibt. Jedoch möchte ich einen Blattschutz aktivieren, um die Formeln zu schützen. Mit Blattschutz funktioniert das alles leider nicht mehr (Laufzeitfehler 1004).
27.07.2018, 21:14 (Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2018, 21:14 von Elex.)
Hallo
füge den Code in das Modul DieseArbeitsmappe ein.
Code:
Private Sub Workbook_Open() Sheets("Tabelle1").Protect AllowFiltering:=True, userinterfaceonly:=True Sheets("Tabelle1").ListObjects("Tabelle1").AutoFilter.ShowAllData End Sub
Jetzt kannst du den Blattschutz aufheben und auch wieder setzen und es sollte laufen. Blatt und Tabellennamen evtl. anpassen.
Gruß Elex
PS: Warum machst du zum gleichen Problem immer neue Themen auf?
Hm, wenn ich den Code in "DieseArbeitsmappe" einfüge ändert sich das Verhalten nicht. Ich bekomme weiterhin den Laufzeitfehler. Ich habe mal meine Arbeitsdatei angehängt.
bei mir läuft deine Datei so wie erwartet. Keine Fehlermeldungen. Nur bei B1 musst du noch den Zellschutzt entfernen. Beschreibe wenn der Fehler bei dir Auftritt.
Fehlermeldung würde es nur geben wenn gar kein Autofilter verwendet wird im Blatt.
dann ist anschließend immer der Filter eingeschaltet und alle Daten werden gezeigt?
Nicht ganz richtig. Wenn die Tabelle über mehr als eine Spalte gefiltert ist (z.B. Spalte 1 und 3.), dann wird mit der Codezeile nur der Filter aus Spalte 1 entfernt und nach 3 bleibt gefiltert. Alle entfernen mit ShowAllData.
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • schauan