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

Filtern einer Mehrspaltigen Listbox

Filtern einer Mehrspaltigen Listbox
21.06.2021 08:36:25
Sven
Hallo zusammen,
ich habe hier eine Tabelle in der in meine Stunden für Projekte und deren einzelnen Arbeitsbereiche erfasse.
Es gibt ein Tabellenblatt (Projekte) dort schreibe ich mir alle Daten hin die ich Später nutzen möchte.
Ich habe eine Userform in der ich eine Listbox habe die den Inhalt von des Tabellenblatt (Projekte) anzeigt
Über der Listbox gibt es einzelne Textboxen über die später gefiltert werden können soll.
Man fängt an zu tippen in einer der Textboxen und es werden nur die passenden Einträge angezeigt.
Wenn ich in eine Zweite Textbox etwas Eintrage sollte mit den vorher gefilterten Werten weiter gefiltert werden.
Um die Userform auf zurufen im Tabellenblatt (Januar) einen Doppelklick auf eine Zelle mit dem Inhalt frei machen.
Anbei die Beispieldatei:
https://www.herber.de/bbs/user/146684.xlsm
Könnte mir da jemand weiter helfen?
Danke und Gruß
Sven

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filtern einer Mehrspaltigen Listbox
21.06.2021 10:36:00
max.kaffl@gmx.de
Hallo Sven,
teste mal:
Code:

[Cc][+][-]

Private Sub TextBox1_Change() Call Filtern End Sub Private Sub TextBox2_Change() Call Filtern End Sub Private Sub TextBox3_Change() Call Filtern End Sub Private Sub TextBox4_Change() Call Filtern End Sub Private Sub TextBox5_Change() Call Filtern End Sub Private Sub TextBox6_Change() Call Filtern End Sub Private Sub Filtern() Dim ialngIndex As Long, lngIndex As Long, lngCounter As Long Dim avntTemp() As Variant Dim blnFound As Boolean For ialngIndex = LBound(arrData) To UBound(arrData) blnFound = False For lngIndex = 1 To 6 With Controls("TextBox" & CStr(lngIndex)) If .TextLength > 0 Then If LCase$(Left$(arrData(ialngIndex, lngIndex), .TextLength)) = LCase$(.Text) Then blnFound = True Exit For End If End If End With Next If blnFound Then ReDim Preserve avntTemp(1 To 6, lngCounter) For lngIndex = 1 To 6 avntTemp(lngIndex, lngCounter) = arrData(ialngIndex, lngIndex) Next lngCounter = lngCounter + 1 End If Next If lngCounter > 0 Then ListBox1.Column = avntTemp Else ListBox1.List = arrData End If End Sub

Gruß
Nepumuk
Anzeige
AW: Filtern einer Mehrspaltigen Listbox
21.06.2021 13:30:37
Sven
Hallo Nepumuk,
habe den Code eingefügt und es wird gefiltert :) vielen Dank schon mal dafür!
Jetzt habe ich fest gestellt das wenn ich etwas in ein Textfeld eintrage und wieder lösche sich die Listbox jedes mal verkleinert.
Also wenn man etwas in ein Textfeld schreibt und es wieder löscht und das ganze wiederholt. Nach der ca fünften Wiederholung verkleinert sich die Listbox dann nicht mehr.
Gibt es hier vielleicht einen Zusammenhang wie ich die Range "ProjektAuswahl" ermittle?

=BEREICH.VERSCHIEBEN(Projekte!$A$2;0;0;VERGLEICH("";Projekte!$A:$A;-1)+2;ANZAHL2(Projekte!$1:$1)-1) 
Jetzt wird nach dem ersten Wort in der Zelle gefiltert was müsste ich denn anpassen das alles angezeigt wird auf was der Eintrag passt egal wo sich dieser in der Zelle befindet.
Anbei die Tabelle mit dem eingefügten Code
https://www.herber.de/bbs/user/146695.xlsm
Danke und Gruß
Sven
Anzeige
AW: Filtern einer Mehrspaltigen Listbox
25.06.2021 14:03:20
Sven
So ganz habe ich den Code noch nicht verstanden.

If LCase$(Left$(arrData(ialngIndex, lngIndex), .TextLength)) = LCase$(.Text) Then
Diese Zeile habe ich versucht so ab zu ändern das nach allen Buchstabenkombinationen gesucht wird auch inner halb eines Wortes.
Jetzt sucht er ja von links die Wörter die mit dem Such Buchstaben beginnen.
Mit Right$ ja das letzte Wort und mit Mid$ ein Wort aus der Mitte (wie das mittel Wort ermittelt wird weiß ich auch nicht so genau)
Könnte mir da jemand weiter helfen?
Gruß
Sven
@Nepumuk...
21.06.2021 15:19:50
Pierre
Hallo Nepumuk,
Werner (neopa C) hatte die Idee, dich zu folgendem Problem zu fragen:
https://www.herber.de/forum/messages/1835826.html
Vielleicht hast du eine Ahnung, was das Problem mit den betroffenen Felder ist?
Werner hat die Vermutung, dass du dazu was sagen könntest?
Gruß Pierre
Anzeige
Aus dem DOM geht hervor, ...
22.06.2021 00:20:17
Luc:-?
…Pierre,
das Volti der Autor ist. Wie du bei deiner obigen Anfrage sehen kannst, hat dieser meiner Vermutung der Ursache beigepflichtet.
Luc :-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige