Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox, mehrere Suche für eine Spalte

Forumthread: 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

Anzeige

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

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige