Makro-Autofilter nach Zellen Kriterium
Schritt-für-Schritt-Anleitung
Um einen Autofilter in Excel zu erstellen, der sich auf einen Zellwert bezieht, kannst du die folgende VBA-Anleitung verwenden:
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Klicke mit der rechten Maustaste auf
VBAProject (DeinWorkbookName) und wähle Einfügen > Modul.
- Kopiere den folgenden VBA-Code in das Modul:
Sub Makro1()
' Makro1 Makro
Dim SuchKriterium As String
SuchKriterium = Sheets("Tabelle1").Range("A1").Value
ActiveSheet.Range("$A$9:$X$1127").AutoFilter Field:=2, Criteria1:="=*" & SuchKriterium & "*", Operator:=xlAnd
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Gib im Zellenbereich
A1 das Suchkriterium ein.
- Führe das Makro
Makro1 aus, um die Tabelle basierend auf dem Wert in Zelle A1 zu filtern.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du keinen VBA-Code verwenden möchtest, kannst du auch die integrierten Filterfunktionen von Excel nutzen:
- Wähle die Daten aus, die du filtern möchtest.
- Gehe zu
Daten > Filter.
- Klicke auf den Dropdown-Pfeil in der gewünschten Spalte und wähle die Filterbedingungen aus.
- Wenn du einen Zellwert als Kriterium nutzen möchtest, kannst du im Filterdialogfeld die Option „Benutzerdefiniertes Filtern“ auswählen und das Kriterium manuell eingeben.
Praktische Beispiele
Angenommen, du hast eine Tabelle mit verschiedenen Produkten und möchtest nur die Produkte anzeigen, die ein bestimmtes Wort im Namen enthalten. Wenn du in Zelle A1 den Wert „Rohr“ eingibst, wird das Makro die Tabelle so filtern, dass nur die Zeilen angezeigt werden, die „Rohr“ in der zweiten Spalte enthalten.
Sub FilterBeispiel()
Dim SuchKriterium As String
SuchKriterium = Sheets("Tabelle1").Range("A1").Value
ActiveSheet.Range("$A$1:$D$100").AutoFilter Field:=2, Criteria1:="=*" & SuchKriterium & "*"
End Sub
Tipps für Profis
- Verwendung von Platzhaltern: Du kannst Platzhalter wie
* (beliebige Zeichen) oder ? (ein einzelnes Zeichen) verwenden, um die Filterung flexibler zu gestalten.
- Dynamische Bereiche: Verwende dynamische Bereiche, um sicherzustellen, dass dein Filter immer die neuesten Daten umfasst.
- Fehlerbehandlung im VBA: Implementiere Fehlerbehandlungsroutinen, um sicherzustellen, dass dein Makro auch bei unerwarteten Eingaben stabil bleibt.
FAQ: Häufige Fragen
1. Wie kann ich den Autofilter auf eine andere Spalte anwenden?
Um den Autofilter auf eine andere Spalte anzuwenden, ändere den Wert von Field:=2 auf die entsprechende Spaltennummer (z.B. Field:=3 für die dritte Spalte).
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der angegebenen VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2010 und später. Achte darauf, dass Makros in deiner Excel-Anwendung aktiviert sind.