Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autofilter und Inputbox

Autofilter und Inputbox
22.11.2005 16:24:21
Carsten
Hallo,
ich habe ein kleines Problem. Ich habe eine Excel-Tabelle, in der ich Daten filtern möchte. Das soll über ein Makro mit Inputbox geschehen. Da die Schreibweise in der Tabelle aber teilweise unterschiedlich ist, soll nicht der gesamte Suchbegriff in der Inputbox erfasst werden, sondern nur ein Ausschnitt.
Beispiel: in der Tabellle gibt es Einträge wie Willi Schulz, W. Schulz oder W Schulz. Ich möchte in der Inputbox nur Schulz eingeben.
Wie bekomme ich das hin? Es sollte also möglichst benutzerdefiniert gesucht werden mit der Vorgabe "enthält".
Kann mir hier jemand helfen?
Danke
Carsten
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Autofilter und Inputbox
23.11.2005 01:35:23
Franz
Hallo Carsten,
so könnte z.b. das entsprechende Makro aussehen:

Sub AutofilterEingabe()
Dim Kriterium1 As String, Bereich As Range
Set Bereich = ActiveSheet.UsedRange 'Bereich entsprechend anpassen
'Filter sucht nach "enthält Suchtext"
Kriterium1 = "=*" & InputBox("gesuchter Text? ", "Autofilter Suchbegriff", "Suchtext") & "*"
If Kriterium1 = "=**" Then Exit Sub
Bereich.AutoFilter Field:=1, Criteria1:=Kriterium1 'Falls mehrere Spalten ein Autofilter haben, dann ggf. Fieldnummer anpassen
End Sub

Gruß
Franz
Anzeige
AW: Autofilter und Inputbox
23.11.2005 07:54:47
Carsten
Hallo Franz,
es funktioniert. Vielen Dank!
Gruß
Carsten
;
Anzeige

Infobox / Tutorial

Autofilter mit Inputbox in Excel nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade die Tabelle, in der Du den Autofilter anwenden möchtest.

  2. Drücke Alt + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub AutofilterEingabe()
        Dim Kriterium1 As String, Bereich As Range
        Set Bereich = ActiveSheet.UsedRange 'Bereich entsprechend anpassen
        'Filter sucht nach "enthält Suchtext"
        Kriterium1 = "=*" & InputBox("gesuchter Text? ", "Autofilter Suchbegriff", "Suchtext") & "*"
        If Kriterium1 = "=**" Then Exit Sub
        Bereich.AutoFilter Field:=1, Criteria1:=Kriterium1 'Falls mehrere Spalten ein Autofilter haben, dann ggf. Fieldnummer anpassen
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus: Drücke Alt + F8, wähle AutofilterEingabe und klicke auf Ausführen.

  7. Gib den Suchbegriff in der Inputbox ein. Zum Beispiel: "Schulz". Der Autofilter wird dann alle Einträge filtern, die "Schulz" enthalten.


Häufige Fehler und Lösungen

  • Fehler: Makro läuft nicht

    • Stelle sicher, dass Makros in Excel aktiviert sind. Gehe zu Datei -> Optionen -> Trust Center -> Einstellungen für das Trust Center -> Makroeinstellungen und aktiviere die Option für Makros.
  • Fehler: Inputbox bleibt leer

    • Wenn Du die Inputbox ohne Eingabe schließt, wird der Filter nicht angewendet. Achte darauf, einen Suchbegriff einzugeben.
  • Fehler: Filter funktioniert nicht richtig

    • Überprüfe die Spaltennummer im Field Parameter, falls Du die Filterung auf eine andere Spalte anwenden möchtest.

Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du auch die Standard-Autofilter-Funktion von Excel nutzen:

  1. Markiere die Daten in Deiner Tabelle.
  2. Gehe zu Daten -> Filter -> Autofilter.
  3. Klicke auf den Dropdown-Pfeil in der Kopfzeile und wähle Benutzerdefiniertes Filtern.
  4. Wähle enthält und gib den gewünschten Begriff ein.

Praktische Beispiele

Angenommen, Du hast eine Tabelle mit Namen und möchtest nach "Schulz" suchen:

Name
Willi Schulz
W. Schulz
W. Schulz
Max Mustermann

Wenn Du "Schulz" in die Inputbox eingibst, zeigt Excel nur die Zeilen an, die diesen Begriff enthalten.


Tipps für Profis

  • Erweitere das Makro: Du kannst das Makro anpassen, um weitere Filterkriterien hinzuzufügen, z.B. nach mehreren Spalten gleichzeitig.
  • Nutze die Option Explicit Anweisung: Dies hilft Dir, Variablen zu deklarieren und Fehler beim Programmieren zu vermeiden.
  • Teste das Makro regelmäßig: Führe das Makro nach jeder Änderung aus, um sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Kann ich das Makro für andere Excel-Versionen verwenden? Ja, das Makro sollte in den meisten modernen Excel-Versionen (Excel 2010 und neuer) funktionieren.

2. Was mache ich, wenn ich mehrere Begriffe gleichzeitig filtern möchte? Du kannst das Makro anpassen, um mehrere Kriterien zu akzeptieren, indem Du mehrere InputBox-Anfragen in das VBA-Skript einfügst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige