Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro-Autofilter nach Zellen Kriterium

Makro-Autofilter nach Zellen Kriterium
05.04.2017 14:47:10
Dirk33
Hallo zusammen,
beim Autofilter kann ich mit der Funktion "enthält" bestimmte Inhalte mir anzeigen lassen, wo dieses Kriterium erfüllt.
Kann ich das Kriterium auch aus einer Zelle beziehen?
Ich würde gerne dann ein sogenanntes Such/Filter Feld in meine Tabelle einbauen, wo ich manuell gewünschte Daten mir anzeigen lassen möchte.
Alle versuche wo ich probiert habe sind schon gescheitert, bzw. wenn es geklappt hat musste ich das exakte Kriterium reinschreiben, dass er mir das angezeigt hat.
Hier der von mir erstellte Code, wo nicht klappt. Hat jemand hierzu eine Lösung?
Sub Makro1()
' Makro1 Makro
ActiveSheet.Range("$A$9:$X$1127").AutoFilter Field:=2, Criteria1:="=*Rohr*" _
, Operator:=xlAnd
ActiveWindow.SmallScroll Down:=-21
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro-Autofilter nach Zellen Kriterium
05.04.2017 15:04:48
Daniel
Hi
Criteria1:="=*" & Sheets("Tabelle1").Range("A1").value & "*"
du kannst die Sterne auch weglassen, dann musst du sie in er Tabelle mit eingeben (was dir die Möglichkeit gibt, ohne Codeanpassung nach den Optionen entspricht, enthält, beginnt mit, endet mit suchen zu können, indem du die "*" entsprechend mit eingibst:
Criteria1:="=" & Sheets("Tabelle1").Range("A1").value
Gruß Daniel
Anzeige
AW: Makro-Autofilter nach Zellen Kriterium
06.04.2017 07:17:15
Dirk33
Super vielen Dank
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

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:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke mit der rechten Maustaste auf VBAProject (DeinWorkbookName) und wähle Einfügen > Modul.
  3. 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
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Gib im Zellenbereich A1 das Suchkriterium ein.
  3. Führe das Makro Makro1 aus, um die Tabelle basierend auf dem Wert in Zelle A1 zu filtern.

Häufige Fehler und Lösungen

  • Fehler: Das Makro filtert nicht korrekt.

    • Lösung: Stelle sicher, dass das Suchkriterium in A1 richtig eingegeben wurde. Überprüfe auch, ob das Filterfeld korrekt angegeben ist (in diesem Fall Field:=2).
  • Fehler: Filter wird nicht aktualisiert.

    • Lösung: Wenn du das Makro mehrmals ausführst, stelle sicher, dass der Autofilter immer auf dem aktuellen Datenbereich angewendet wird. Möglicherweise musst du den Autofilter zurücksetzen, bevor du das Makro erneut ausführst.

Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, kannst du auch die integrierten Filterfunktionen von Excel nutzen:

  1. Wähle die Daten aus, die du filtern möchtest.
  2. Gehe zu Daten > Filter.
  3. Klicke auf den Dropdown-Pfeil in der gewünschten Spalte und wähle die Filterbedingungen aus.
  4. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige