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

Forumthread: Suchanfrage mit mehreren Kriterien

Suchanfrage mit mehreren Kriterien
20.07.2016 20:18:19
Hermelin
Hallo Zusammen
Folgendes Problem
Ich habe ein Tabellenblatt mit 5 Spalten.
Nun versuche ich via TextBox die entsprechenden Zeilen zu finden. Je mehr TextBoxen (5) ich mit Suchkriterien bestücke, desto genauer sollte die Trefferquote in der Listbox sein. Wo habe ich den Fehler in meiner Formel?
Private Sub cmdSuchen_Click()
Dim Ing As Long
Dim i As Integer
Application.ScreenUpdating = False
With frm_Daten
.ListBox1.Clear
Sheets("Adressliste").Activate
i = 0
For Ing = 3 To ActiveSheet.UsedRange.Rows.Count
If InStr(LCase(Cells(Ing, 1).Value), LCase(.TextBox1.Value)) > 0 Then
.ListBox1.AddItem Cells(Ing, 1).Value
.ListBox1.Column(1, i) = Cells(Ing, 2).Value
.ListBox1.Column(2, i) = Cells(Ing, 3).Value
.ListBox1.Column(3, i) = Cells(Ing, 4).Value
.ListBox1.Column(4, i) = Cells(Ing, 5).Value
.ListBox1.Column(5, i) = Ing
i = i + 1
Else
End If
Next Ing
End With
frm_Daten.Label42.Caption = frm_Daten.Label42.Caption
frm_Daten.Label43.Caption = frm_Daten.Label43.Caption
frm_Daten.Label44.Caption = frm_Daten.Label44.Caption
frm_Daten.Label45.Caption = frm_Daten.Label45.Caption
frm_Daten.Label46.Caption = frm_Daten.Label46.Caption
Application.ScreenUpdating = True
End Sub
Danke für die Hilfe im voraus
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Suchanfrage mit mehreren Kriterien
23.07.2016 06:28:33
fcs
Hallo Hermelin,
wenn du weitere Kriterien in Textboxen eingibst, dann musst du sie natürlich auch in eine entsprende Prüfung im Makro einbauen. z.B. so:
   For Ing = 3 To ActiveSheet.UsedRange.Rows.Count
If (.TextBox1.Value = "" _
Or InStr(LCase(Cells(Ing, 1).Value), LCase(.TextBox1.Value)) > 0) _
And (.TextBox2.Value = "" _
Or InStr(LCase(Cells(Ing, 2).Value), LCase(.TextBox2.Value)) > 0) _
And (.TextBox3.Value = "" _
Or InStr(LCase(Cells(Ing, 3).Value), LCase(.TextBox3.Value)) > 0) _
And (.TextBox4.Value = "" _
Or InStr(LCase(Cells(Ing, 4).Value), LCase(.TextBox4.Value)) > 0) _
And (.TextBox5.Value = "" _
Or InStr(LCase(Cells(Ing, 5).Value), LCase(.TextBox5.Value)) > 0) Then
.ListBox1.AddItem Cells(Ing, 1).Value
Gruß
Franz
Anzeige
AW: Suchanfrage mit mehreren Kriterien
24.07.2016 22:23:00
Piet
Hallo,
den langen unübersichtlichen Prüf Code kann man etwas übersichtlicher schreiben.
Erleichtert mir den Durchblick beim Programmieren. z.b. so wie unten, über Txt1 ...
Was ich aber garnicht verstanden habe ist dieser Teil? Wie funktioniert der wirklich
frm_Daten.Label42.Caption = frm_Daten.Label42.Caption
Von der Logik her wird der Überschrift - die gleiche Überschrift neu zugewiesen!
Was aendert sich denn dabei? Das verstehe ich nicht so ganz?
mfg Piet
Dim Txt1, Txt2, Txt2, Txt4, Txt5
Dim Wert1, Wert2, Wert3, Wert4, Wert5
Txt1 = LCase(.TextBox1.Value)
Txt2 = LCase(.TextBox2.Value)
Txt3 = LCase(.TextBox3.Value)
Txt4 = LCase(.TextBox4.Value)
Txt5 = LCase(.TextBox5.Value)
Wert1 = LCase(Cells(Ing, 1).Value)
Wert2 = LCase(Cells(Ing, 2).Value)
Wert3 = LCase(Cells(Ing, 3).Value)
Wert4 = LCase(Cells(Ing, 4).Value)
Wert5 = LCase(Cells(Ing, 5).Value)
If (Txt1 = "" Or InStr(Wert1, Txt1) > 0) And _
(Txt2 = "" Or InStr(Wert2, Txt1) > 0) And _
(Txt3 = "" Or InStr(Wert1, Txt1) > 0) And _
(Txt4 = "" Or InStr(Wert1, Txt1) > 0) And _
(Txt5 = "" Or InStr(Wert1, Txt1) > 0) Then

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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