Mit dieser Anleitung aktivieren Sie den Autofilter trotz Blattschutz in Excel. So bleiben Formeln und Strukturen geschützt, während Anwender weiterhin flexibel filtern können. Das spart Zeit, erhöht die Datensicherheit und verbessert die Bedienbarkeit Ihrer Arbeitsmappen.
Warum der Autofilter bei Blattschutz oft nicht funktioniert
Ein aktivierter Blattschutz verhindert in der Standardeinstellung viele Benutzeraktionen. Dazu zählt auch das Setzen und Ändern von Filterkriterien im Autofilter. Der Schutzmechanismus soll versehentliche Strukturänderungen verhindern, blockiert aber zugleich nützliche Interaktionen. Mit einer kurzen VBA-Lösung lassen sich diese Einschränkungen für die Benutzeroberfläche gezielt aufheben, ohne den eigentlichen Schutz auszuhebeln.
Lösung mit VBA, Autofilter trotz Blattschutz
Die folgenden Prozeduren aktivieren den Blattschutz nur für die Benutzeroberfläche und erlauben gleichzeitig den Einsatz des Autofilters. Der Blattschutz bleibt für VBA uneingeschränkt, Benutzer können jedoch weiterhin filtern.
Sub AutofilterBeiBlattschutz()
ActiveSheet.Protect userinterfaceonly:=True
' im geschützten Blatt arbeiten
ActiveSheet.EnableAutoFilter = True
End Sub
Führen Sie diese Prozedur manuell aus, um auf dem aktiven Blatt den Blattschutz mit aktivem Autofilter einzuschalten.
Automatisch beim Öffnen der Arbeitsmappe
Wenn die Einstellung bei jedem Öffnen der Datei automatisch aktiv sein soll, verwenden Sie das Workbook_Open Ereignis. Platzieren Sie diese Prozedur im Objektmodul DieseArbeitsmappe. So wird der Blattschutz für die Benutzeroberfläche bei jedem Start gesetzt und der Autofilter wieder freigeschaltet.
Sub Workbook_Open()
ActiveSheet.Protect userinterfaceonly:=True
' im geschützten Blatt arbeiten
ActiveSheet.EnableAutoFilter = True
End Sub
Der Unterschied liegt nur in der ersten Zeile. Workbook_Open wird beim Starten der Arbeitsmappe automatisch ausgeführt. Wichtig ist, dass die Einstellung UserInterfaceOnly nach einem Schließen zurückgesetzt wird. Daher ist die automatische Initialisierung beim Öffnen sinnvoll.
Schritt für Schritt, so setzen Sie die Lösung um
- Arbeitsmappe öffnen und die Registerkarte Entwicklertools einblenden, falls noch nicht sichtbar. Öffnen Sie den Visual Basic Editor über Alt F11.
- Für die manuelle Ausführung fügen Sie über Einfügen Modul ein Standardmodul hinzu. Für die automatische Ausführung doppelklicken Sie im Projektexplorer auf DieseArbeitsmappe.
- Kopieren Sie den passenden VBA-Code in das jeweilige Modul. Für die Autoausführung muss der Code in DieseArbeitsmappe liegen.
- Speichern Sie die Datei als Excel Arbeitsmappe mit Makros mit der Endung xlsm oder als xlsb.
- Schließen Sie die Arbeitsmappe und öffnen Sie sie erneut, aktivieren Sie Makros, falls die Sicherheitsabfrage erscheint. Nutzen Sie vertrauenswürdige Speicherorte oder signierte Makros, um Warnungen zu vermeiden.
Voraussetzungen für den Autofilter auf geschützten Blättern
Der Autofilter muss auf dem Datenbereich einmal eingerichtet sein. Markieren Sie die Überschriftenzeile des Datenbereichs und aktivieren Sie Daten Filter. Alternativ wandeln Sie den Bereich in eine intelligente Tabelle um. Die Option EnableAutoFilter erlaubt die Nutzung, sie richtet den Filter nicht ein.
Prüfen Sie, ob die Pfeile für den Autofilter sichtbar sind. Falls nicht, richten Sie den Autofilter einmalig ein und aktivieren Sie anschließend den Blattschutz über die gezeigten Makros.
Praxisbeispiele für den Einsatz
Berichtswesen mit Kennzahlen: Formeln und Formatierungen bleiben durch den Blattschutz unverändert, Teams können jedoch nach Zeitraum, Region oder Kategorie filtern. Inventarlisten: Mitarbeiter dürfen nach Standort und Status filtern, während Formeln für Verfügbarkeit und Bewertungen geschützt bleiben. Projektübersichten: Filter nach Verantwortlichen oder Fälligkeitsdatum sind möglich, ohne kritische Felder zu gefährden.
Typische Fehlerquellen und wie Sie sie vermeiden
Falsches Modul für Workbook_Open: Legen Sie Workbook_Open immer im Objekt DieseArbeitsmappe ab, nicht in einem Standardmodul. Nur dann wird die Prozedur beim Öffnen automatisch ausgeführt.
Einstellung geht nach dem Schließen verloren: UserInterfaceOnly gilt nur für die aktuelle Sitzung. Nutzen Sie daher die Autoausführung beim Öffnen, um die Einstellung jedes Mal zu setzen.
Falsches Blatt aktiv: Der Code bezieht sich auf das aktive Blatt. Achten Sie beim Start der Arbeitsmappe darauf, dass das gewünschte Blatt aktiv ist oder adressieren Sie ein bestimmtes Blatt über seinen Namen, wenn Sie eine gezielte Steuerung wünschen.
Autofilter fehlt: EnableAutoFilter erlaubt die Nutzung, ersetzt aber nicht das Einrichten. Legen Sie den Autofilter zuvor auf dem Datenbereich an, sonst erscheinen keine Filterpfeile.
Makros deaktiviert: Ohne aktivierte Makros greifen die Einstellungen nicht. Prüfen Sie die Makrosicherheit und verwenden Sie vertrauenswürdige Speicherorte.
Variante, gezieltes Blatt ansteuern
Wenn immer dasselbe Blatt gefiltert werden soll, steuern Sie es direkt über seinen Namen an. So sind Sie unabhängig davon, welches Blatt gerade aktiv ist.
Sub SchutzUndFilterAufDaten()
Worksheets("Daten").Protect userinterfaceonly:=True
Worksheets("Daten").EnableAutoFilter = True
End Sub
Variante, Blattschutz mit Passwort kombinieren
Soll das Blatt zusätzlich mit Passwort geschützt sein, ergänzen Sie den Protect Aufruf um ein Kennwort. So bleibt der Schutz auch gegen manuelle Aufhebungsversuche abgesichert.
Sub SchutzMitPasswort()
ActiveSheet.Protect Password:="MeinPasswort", userinterfaceonly:=True
ActiveSheet.EnableAutoFilter = True
End Sub
Erweiterte Hinweise zu Berechtigungen und Schutzoptionen
Neben dem Autofilter gibt es weitere Aktionen, die im Schutzdialog oder per Protect Parameter individuell erlaubt werden können. Dazu zählen Sortieren, Formatieren von Zellen und Einfügen von Zeilen. Passen Sie die Schutzoptionen gezielt an, damit Anwender benötigte Funktionen nutzen können, ohne die Integrität der Daten zu gefährden.
In neueren Excel Versionen können im Dialog Blatt schützen bestimmte Aktionen freigegeben werden, beispielsweise die Verwendung von Autofilter in Tabellen. Die VBA Lösung mit UserInterfaceOnly ist dennoch flexibel, da sie unabhängig von der UI Konfiguration zuverlässig greift.
Fazit
Mit der gezeigten VBA Lösung aktivieren Sie den Autofilter trotz Blattschutz in Excel sicher und komfortabel. UserInterfaceOnly schützt die Struktur, während Benutzer weiterhin nach Bedarf filtern können. Durch die Ausführung im Workbook_Open Ereignis bleibt die Einstellung dauerhaft nutzbar, kombiniert mit klaren Schutzoptionen erhalten Sie eine stabile und anwenderfreundliche Arbeitsmappe.

