Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Filtern mittels Inputbox im Listobject

Filtern mittels Inputbox im Listobject
19.12.2022 13:46:38
Fritz
Hallo,
ich möchte mit dem nachfolgenden Code mein Listobject über eine Inputbox filtern; das funktioniert nur bedingt, es wird immer "0" als Ergebnis ausgeworfen, obwohl der Name definitiv in der Spalte 3 vorhanden ist:

Sub FilterTable()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("BevorstehendeÄnderungen")
Dim table As ListObject
Set table = ws.ListObjects("Table1") ' Table1 ist der Name der Tabelle
Dim name As String
name = InputBox("Geben Sie den Namen ein, nach dem gefiltert werden soll:")
table.Range.AutoFilter Field:=3, Criteria1:=name
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
funktioniert tadellos. owT
19.12.2022 14:09:42
Rudi
AW: Filtern mittels Inputbox im Listobject
19.12.2022 14:13:34
Der
Hallo,
der Begriff muss so wie er eingegeben wurde vorkommen. Ist der Begriff nur ein Teil von den Einträgen in Spalte 3 wird nichts gefunden. Zudem muss mW ein = vor den Suchbergriff:

table.Range.AutoFilter Field:=3, Criteria1:="=" & name
ggf. kannst Du auch mit Platzhaltern arbeiten (davor und/oder dahinter):

table.Range.AutoFilter Field:=3, Criteria1:="=*" & name &"*"
Gruß
Michael
AW: Filtern mittels Inputbox im Listobject
19.12.2022 14:47:50
Fritz
Hallo Michael,
danke für deine hilfreiche Ergänzung.
Es lag tatsächlich am fehlenden "="
Gruß F.
Anzeige
AW: Filtern mittels Inputbox im Listobject
19.12.2022 14:14:55
Yal
Hallo Fritz,
wenn Du einen ListObject hast, dann kannst Du die Filterschaltfläche sichtbar machen: Menü "Tabellentools", "Entwurf", Haken bei "Schaltfläche Filter". Dann kannst Du jederzeit ein Element der Liste auswählen.
Wenn Du trotzdem Spass an Tastatureingabe hast, gibt es über die Liste einen Eingabefeld, in dem Du die Liste vorfiltern kannst.
Falls Du VBA lernen möchtest, gern, aber nicht um bereit existierende, durchgedachte Funktion neu zu entwickeln.
VG
Yal
AW: Filtern mittels Inputbox im Listobject
19.12.2022 14:44:54
Fritz
Hallo Yal,
hast du mir grad die Standardfilterfunktion in Excel erklärt?
AW: Filtern mittels Inputbox im Listobject
19.12.2022 14:59:35
Yal
Hmm... hätte ich deine Einstufung "Excel Profi-VBA bescheiden" zuerst gelesen, hätte ich mich weniger blamiert ;-)
Also es geht Dir klar ums VBA-Lernen.
In deinem Fall hätte ich den Makrorekorder angestossen. Ja, 25 Jahre VBA-Erfahrung und ich benutze immer noch, sogar gern, den MR. Was aus der Maschine kommen kann, muss ich mir nicht merken.
MR sagt:

ActiveSheet.ListObjects("Tabelle1").Range.AutoFilter Field:=1, Criteria1:="=*abc*", Operator:=xlAnd
(ich habe dabei die Eingabe nicht im Eingabefeld gemacht, sondern unter "Textfilter", "enthält...", "abc" eingegeben. ListObject, weil ich gerade eben nur das zur Verfügung hatte.)
VG
Yal
Anzeige
AW: Filtern mittels Inputbox im Listobject
19.12.2022 15:12:02
Fritz
Hallo Yal,
danke. Tatsächlich war alles soweit korrekt im Code, aber das "=" fehlte, daher ging das nicht; was sich mir auch nicht wirklich erschließt, aber das muss ich mir eben merken :-)
Statt Inputbox habe ich aber nun "einfach" ein Steuerelement, eine Textbox mit "Verweis" auf Zelle "H1", im Sheet mit "Suchcode" hinterlegt, welches die Filterung der Liste vornimmt; das dürfte intuitiver sein, als noch eine weitere aufpoppende Box. Die Leerung des Filter und der Textbox erfolgt dann auch über ein "FilterOff"-Icon:

 Private Sub TextBox1_Change()
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=3, Criteria1:="*" & [H1] & "*", Operator:=xlFilterValues
End Sub

Sub FilterOff()
ActiveSheet.TextBox1.Value = ""
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=3
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige