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

Listbox, mehrere Suche für eine Spalte

Listbox, mehrere Suche für eine Spalte
24.10.2016 11:12:38
Robert

Hallo Zusammen,
im Moment nutze ich folgenden Code:

Public Sub Suchen_()
Dim lng As Long
Dim i As Integer
Sheets("Zutaten").Activate
Application.ScreenUpdating = True
With frm_Box
.ListBox_Test.Clear
frm_Box.ListBox_Test.ColumnCount = 2
frm_Box.ListBox_Test.ColumnWidths = "50;250"
i = 0
For lng = 2 To ActiveSheet.UsedRange.Rows.Count
Sucher1 = .txt_Test1_Nr
Sucher2 = "03 Testfilter"
If Cells(lng, 4) = Sucher1 And Cells(lng, 5) = Sucher2 Then
.ListBox_Test.AddItem Cells(lng, 7).Value
.ListBox_Test.Column(1, i) = Cells(lng, 10).Value
.ListBox_Test.Column(2, i) = Cells(lng, 5).Value
.ListBox_Test.Column(3, i) = Cells(lng, 5).Row
i = i + 1
End If
Next lng
End With
End Sub

Sucher 1 sind Zahlen von 1 bis 10.
Jetzt möchte ich mir in der Listbox aber nichtnur alle Werte passend zu einer Zahl anzeigen lassen. Es kann vorkommen das ich gerne alle Werte zu 1, 2 und 5 sehen möchte.
Dazu die Frage: Wie würdet ihr das aufbauen?
Im Moment wird die Zahl im Textfeld "txt_Test1_Nr" hinterlegt.
Wie bekomme ich es hin das mir also mehrere Sucher in der Listbox ausgegeben werden? Mehrere Textfelder? Und wie müsste der Code aussehen?
Danke und Gruß
Robert

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

Betreff
Datum
Anwender
Anzeige
AW: Listbox, mehrere Suche für eine Spalte
24.10.2016 13:55:40
ChrisL
Hi Robert
Mehrere Textfelder wäre eine Variante, aber ich habe dir nun mal ein Beispiel mit einer weiteren ListBox mit Multi-Select Eigenschaft gemacht d.h. du kannst mehrere Nummern gleichzeitig auswählen.
https://www.herber.de/bbs/user/108993.xlsm
Private Sub ListBox1_Change()
Dim wks As Worksheet
Dim lng As Long, Sucher2 As String
Dim i As Integer, iList As Integer
Set wks = Sheets("Zutaten")
Sucher2 = "03 Testfilter"
Application.ScreenUpdating = True
With frm_Box
.ListBox_Test.Clear
.ListBox_Test.ColumnCount = 2
.ListBox_Test.ColumnWidths = "50;250"
i = 0
For lng = 2 To wks.UsedRange.Rows.Count
For iList = 0 To .ListBox1.ListCount - 1
If .ListBox1.Selected(iList) Then
If wks.Cells(lng, 4) = iList + 1 And wks.Cells(lng, 5) = Sucher2 Then
.ListBox_Test.AddItem wks.Cells(lng, 7).Value
.ListBox_Test.Column(1, i) = wks.Cells(lng, 10).Value
.ListBox_Test.Column(2, i) = wks.Cells(lng, 5).Value
.ListBox_Test.Column(3, i) = wks.Cells(lng, 5).Row
i = i + 1
End If
End If
Next iList
Next lng
End With
End Sub

Private Sub UserForm_Initialize()
Dim i As Byte
For i = 1 To 10
ListBox1.AddItem i
Next i
End Sub

cu
Chris
Anzeige
AW: Listbox, mehrere Suche für eine Spalte
24.10.2016 14:54:56
Robert
Hi Chris,
sieht sehr interessant aus. Ich hab das ganze deutlich "stupider" gelöst.
If Cells(lng, 4) = Sucher1 And Cells(lng, 5) = Sucher2 or If Cells(lng, 4) = Sucher2 And Cells(lng, 5) = Sucher2 or If Cells(lng, 4) = Sucher3 And Cells(lng, 5) = Sucher2 Then ... und so weiter.
Funktioniert zwar aber sieht irgendwie falsch aus^^.
Ich werde mal deinen Ansatz versuchen zu übernehmen.
Vielen Dank und Gruß
Robert

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige