Autofiltereinstellungen effizient speichern und wiederherstellen
Schritt-für-Schritt-Anleitung
Um die Autofiltereinstellungen in Excel zu speichern und nach einem Update externer Daten wiederherzustellen, kannst Du den folgenden VBA-Code verwenden. Dieser speichert die aktuellen Filtereinstellungen und stellt sie nach dem Aktualisieren der Daten wieder her.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle
Einfügen -> Modul
.
- Kopiere den folgenden Code in das Modul:
Sub FiltereinstellungenMerken()
Dim Wert_Filter1() As String, Wert_Filter2() As String
Dim Wert_UndOder(), Filteranzahl As Integer
Dim i As Integer, f As Object, ZeileAutoFilter As Range
With ActiveSheet
'Filtereinstellungen merken
Set ZeileAutoFilter = .Rows(1) 'bitte anpassen
Filteranzahl = .AutoFilter.Filters.Count
ReDim Preserve Wert_Filter1(Filteranzahl)
ReDim Preserve Wert_Filter2(Filteranzahl)
ReDim Preserve Wert_UndOder(Filteranzahl)
If .AutoFilterMode Then
i = 1
For Each f In .AutoFilter.Filters
With f
If .On Then
Wert_Filter1(i) = .Criteria1
Wert_UndOder(i) = .Operator
On Error Resume Next
Wert_Filter2(i) = .Criteria2
End If
End With
i = i + 1
Next
End If
'Ende Filtereinstellungen merken
'Beispielcode
On Error Resume Next
ActiveSheet.ShowAllData 'Alles anzeigen
ActiveWindow.ScrollRow = 1 'Zeile 1 anzeigen
'Beispielcode Ende
'Beispielcode durch den Code ersetzen,
'welcher die externen Daten einfügt
'Filtereinstellungen wiederherstellen
For i = 1 To Filteranzahl
If Wert_Filter1(i) = "" Then
ZeileAutoFilter.AutoFilter Field:=i
Else
If Wert_Filter2(i) = "" Then
ZeileAutoFilter.AutoFilter Field:=i, Criteria1:=Wert_Filter1(i)
Else
ZeileAutoFilter.AutoFilter Field:=i, Operator:=Wert_UndOder(i), _
Criteria1:=Wert_Filter1(i), Criteria2:=Wert_Filter2(i)
End If
End If
Next i
'Ende Filtereinstellungen wiederherstellen
End With
End Sub
- Passe die Zeile
Set ZeileAutoFilter = .Rows(1)
an die Zeile an, in der Deine Autofilter aktiviert sind.
- Führe das Makro aus, um die Filtereinstellungen zu speichern und wiederherzustellen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um die Excel-Filtereinstellungen zu speichern, ist die Verwendung von Excel-Tabellen. Excel-Tabellen speichern die Formatierung und die Filtereinstellungen automatisch, selbst wenn Du externe Daten aktualisierst. Du kannst eine Tabelle erstellen, indem Du die Daten markierst und STRG + T
drückst.
Praktische Beispiele
Wenn Du beispielsweise eine Liste von Verkäufen hast und nur die Verkäufe eines bestimmten Vertreters sehen möchtest, kannst Du den Autofilter aktivieren und die Daten filtern. Mit dem oben genannten VBA-Skript kannst Du sicherstellen, dass die Filtereinstellungen nach dem Aktualisieren der Daten erhalten bleiben.
Tipps für Profis
- Speichere regelmäßig Deine Excel-Datei, insbesondere bevor Du externe Daten aktualisierst, um Datenverlust zu vermeiden.
- Nutze den VBA-Editor, um Deine Makros zu organisieren und zu dokumentieren. Klar kommentierte Codes erleichtern das spätere Verständnis und die Anpassung.
- Erstelle eine Schaltfläche in Deiner Excel-Oberfläche, um das Makro einfacher auszuführen.
FAQ: Häufige Fragen
1. Frage
Wie kann ich die Filtereinstellungen in einer anderen Excel-Datei verwenden?
Antwort
Du kannst den gleichen VBA-Code in die andere Datei kopieren und sicherstellen, dass die Struktur der Daten identisch ist. Die Filtereinstellungen werden dann entsprechend übernommen.
2. Frage
Funktioniert dieser Ansatz in Excel 2016 und 2019?
Antwort
Ja, der VBA-Code zur Speicherung und Wiederherstellung der Autofiltereinstellungen funktioniert in Excel 2016, 2019 sowie in anderen Versionen, die VBA unterstützen.