Anzeige
Archiv - Navigation
1444to1448
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

Listbox Filterung

Listbox Filterung
08.09.2015 11:48:08
Sebastian
Hallo ihr lieben,
ich suche nach einer Lösung zu meinem Problem. Ich habe eine Excel Tabelle in der mehrere Strings aufgelistet sind. Die Tabelle reicht von A31 bis CJ100.
Ich wollte gerne einen Filterfunktion erstellen, welche mir bestimmte Strings filtert. Das schwere daran, es geht mit einer Listbox (Listbox3) einher.
Also wenn ich die erste Auswahlt der Listbox3 anklicke und dann auf einen Button gehe, sollte mir jede Row mit dem Inhalt "TS" angezeigt werden.
ich hätte es auch mit folgender Zeile erst versucht, falls jemand eine elegante Lösung hat wäre ich dafür Dankbar.
'Hardcoded, seleced(0) steht für "TS", würde dann für alle anderen zu suchenden Strings eine solche Funktion schreiben. Zudem steht in der Listbox nicht dasselbe wie in der Zelle an sich.
If Workbooks("TESTKopie.xlsm").Sheets("Tabelle1").ListBox3.Selected(0) Then
Leider bin ich bei dem Rest sehr unsicher, ich weiß nicht wie man eine Cells.Find Abfrage in einer Schleife einbaut.
Hier ist ein kleiner Überblick davon, wie die Sheet aussehen wird:
Userbild
Ich bedanke mich jetzt schon für eure Mühe.
lg

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox Filterung
08.09.2015 13:41:40
Gerd
Hallo Sebastian!
Ein Ansatz zum Weiterbasteln:
Sub test()
If listbox3.ListIndex > -1 Then
Select Case listbox3.List(ListIndex, 0)
Case "TS": Call Extraxt("TS")
End Select
End If
End Sub
Sub Extraxt(strKrit As String)
Dim Bereich As Range, Zelle As Range
Set Bereich = Tabelle1.Range("A31:A100")
For Each Zelle In Bereich
Zelle.EntireRow.Hidden = (Zelle.Value  strKrit)
Next
End Sub
Gruß Gerd

AW: Listbox Filterung
08.09.2015 13:43:57
fcs
Hallo Sebastian,
der Code für die Schaltfläche müsste dann etwa wie folgt aussehen.
Die Listbox3 darf dabei nicht für Mehrfachauswahl konfiguriert sein.
Gruß
Franz
Private Sub CommandButton1_Click()
Dim varSuche
Dim rngSuche As Range, rngZelle As Range
With Me ' Wenn Daten, Listbox und Schaltfläche im gleiche Tabellen angeordnet sind
'  With Workbooks("TESTKopie.xlsm").Sheets("Tabelle1")
With .ListBox3
If .ListIndex = -1 Then
MsgBox "bitte erst eine Eintrag in der Listbox auswählen!"
GoTo Beenden
Else
varSuche = .Value
End If
End With
For Each rngZelle In .Range("A31:A100").Cells
If rngZelle.Value = varSuche Then
If rngSuche Is Nothing Then
Set rngSuche = rngZelle
Else
Set rngSuche = Application.Union(rngSuche, rngZelle)
End If
Else
'do nothing
End If
Next rngZelle
With .Range("A31:A100")
If rngSuche Is Nothing Then
.EntireRow.Hidden = False
MsgBox "Suchbegriff nicht gefunden"
Else
.EntireRow.Hidden = True
rngSuche.EntireRow.Hidden = False
End If
End With
End With
Beenden:
End Sub

Anzeige
AW: Listbox Filterung
08.09.2015 14:02:50
Sebastian
Vielen lieben Dank euch beiden, der Code hat hier auf Anhieb funktioniert! Danke!
lg

AW: Listbox Filterung
08.09.2015 14:01:16
Sebastian
WOW vielen lieben Dank an euch beiden, der Code hat auf Anhieb funktioniert! Danke!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige