Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
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

Suche filtern

Suche filtern
06.04.2018 19:20:12
Dietmar
Hallo zusammen,
undzwar habe ich ein Code gefunden was eigentlich super läuft aber ein kleinen Mängel hat, bzw etwas verbessert werden muss. Da ich die genügenden VBA Kenntnisse nicht besitze würde ich mich freuen wenn ihr mir helfen würdet.
zum Beispiel:
bei mir ist die Spalte A "Ort", Und TextBox 1 ist für Spalte A zugeordnet.
Wenn ich in Textbox 1 "Berlin" ausschreibe zeigt er mir es in Listbox an so wie ich es haben möchte. Aber mein Problem ist es, Solange ich in Textbox1 "B" reinschreibe soll er mir alles aufliste wo "b" auftaucht, bei diesem code muss ich alles ausschreiben, und das möchte ich nicht. Wenn ich "BE" reinschreibe soll er mir :
BErlin
württemBErg
winterBErg
NürnBErg
auflisten.
Public Sub filtern()
Dim s As Variant, FA As String, c As Control, Lz As Long, erste_TB As Control
Me.ListBox1.Clear
Lz = Cells(Rows.Count, 1).End(xlUp).Row
If Lz  "" Then
Set erste_TB = c
GoTo Weiter1
End If
End If
Next c
For s = 2 To Lz
With Me.ListBox1
.AddItem
.List(.ListCount - 1, 0) = Range("A" & s & "")
.List(.ListCount - 1, 1) = Range("B" & s & "")
.List(.ListCount - 1, 2) = Range("C" & s & "")
.List(.ListCount - 1, 3) = Range("D" & s & "")
.List(.ListCount - 1, 4) = Range("E" & s & "")
.List(.ListCount - 1, 5) = Range("F" & s & "")
.List(.ListCount - 1, 6) = Range("G" & s & "")
.List(.ListCount - 1, 7) = Range("H" & s & "")
.List(.ListCount - 1, 8) = Range("I" & s & "")
.List(.ListCount - 1, 9) = Range("J" & s & "")
End With
Next s
Exit Sub
Weiter1:
With Range(erste_TB.Tag & "2:" & erste_TB.Tag & Lz & "")
Set s = .Find(c, LookIn:=xlValues, lookat:=xlWhole)
If Not s Is Nothing Then
FA = s.Address
Do
For Each c In Me.Controls
If TypeName(c) = "TextBox" Then
If c.Name  erste_TB.Name And Trim(c.Text)  "" Then
If Not LCase(Range(c.Tag & s.Row)) Like LCase(c) Then GoTo Weiter2
End If
End If
Next c
With Me.ListBox1
.AddItem
.List(.ListCount - 1, 0) = Range("A" & s.Row & "")
.List(.ListCount - 1, 1) = Range("B" & s.Row & "")
.List(.ListCount - 1, 2) = Range("C" & s.Row & "")
.List(.ListCount - 1, 3) = Range("D" & s.Row & "")
.List(.ListCount - 1, 4) = Range("E" & s.Row & "")
.List(.ListCount - 1, 5) = Range("F" & s.Row & "")
.List(.ListCount - 1, 6) = Range("G" & s.Row & "")
.List(.ListCount - 1, 7) = Range("H" & s.Row & "")
.List(.ListCount - 1, 8) = Range("I" & s.Row & "")
.List(.ListCount - 1, 9) = Range("J" & s.Row & "")
End With
Weiter2:
Set s = .FindNext(s)
Loop While Not s Is Nothing And s.Address  FA
End If
End With
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche filtern
06.04.2018 20:47:27
Luschi
Hallo Dietmar,
ich benutze für solche Zwecke die Datenbank-Funktionalität von ADODB.
Da kann man mit der SQL-Syntax ganz einfach alle die Datenzeilen rausfiltern,
wo die Städtespalte die Zeichenkette 'ber' enthält, also egal ob am Anfang,
in der Mitte oder am Ende.
Wenn Du eine Excel-Demodatei bereistellst, bastle ich Dir das rein.
Gruß von Luschi
aus klein-Paris
AW: Suche filtern
07.04.2018 07:33:53
Luschi
Hallo Dietmar,
hier mal mein 1. Versuch: https://www.herber.de/bbs/user/120908.xlsm
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Suche filtern
09.04.2018 11:37:24
Dietmar
Hallo Luschi,
funktionier leider nicht. Wenn ich in Textbox 1 etwas reinschreibe filtert er schön, solang ich in Textbox 2 auch etwas reinschreibe löscht er die Listbox Inhalte und filtert erneuert, anstatt die gefilterten weiter zu filtern.
AW: Suche filtern
09.04.2018 12:50:51
Luschi
Hallo Dietmar,
Deine Einschätzung

funktionier(t) leider nicht
ist TOTAL falsch, denn in Deinem Anfangsthread steht nichts von 'Textbox 2' und das bereits gefilterte Daten in der Listbox weiter gefiltert werden sollen.
Natürlich ist das ohne Probleme möglich, aber mit der von Dir lieblos bereitgestellten Demodatei mache ich nicht weiter. Gib Dir hier etwas mehr Mühe und bereite die Ausgansdaten so vor, wie sie in der Arbeitsdatei strukturmäßig vorliegen - vor allem mit Daten die sich nicht erst an der 6. 7. oder 8. Stelle voneinander unterscheiden. Ich habe einfach keine Lust, beim Testen erst 'nen Haufen Anfangsdaten einzutippen, die kein Unterscheidungsmerkmal haben.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Suche filtern
11.04.2018 11:43:38
Dietmar
Hallo Luschi,
in meinem Anfangsthread hab ich auch ein Code mitgegeben wo mein filter ganz gut funktioniert hat. Bei diesem Code wollte ich nur, dass es nach jeder Buchstabe was ich rein schreibe sucht, und ich nicht erst alles ausschreiben muss. Und du hast dir Bemühungen gemacht, was ich dir sehr Dankbar bin und mir einen ganz anderen Code gegeben, was sehr gut funktioniert was nach jeder Buchstabe suchen angeht aber das gefilterte filtern nicht. Das gefilterte filtern hatte ich in meinem Anfangsthread nicht erwähnt, weil es eh in meinem Code funktioniert hat. Wenn du nicht mehr weiter machen willst, kann ich dich nicht zwingen. Bedanke mich an dich für alles bis jetzt. Aber wäre sehr nett wenn ich es zu ende bekommen würde und mir dabei hilfst. ich könnte dir auch eine andere beispiel datei bereitstellen wenn du weiter arbeiten würdest.
schöe grüße
Dietmar
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige