Thema Datum  Von Nutzer Rating
Antwort
Rot Suchfunktion für Listbox in Userform
12.11.2020 13:46:47 Jan
****
NotSolved
12.11.2020 17:26:08 Mackie
*
NotSolved

Ansicht des Beitrags:
Von:
Jan
Datum:
12.11.2020 13:46:47
Views:
96
Rating: Antwort:
  Ja
Thema:
Suchfunktion für Listbox in Userform

Moin zusammen!

 

Ich möchte eine Listbox in einer Userform wegen der vielen Zeilen mit einer Suchfunktion ausstatten und komme leider nicht zu einer Lösung. 

Die optimale Lösung wäre, wenn ich in einer Textbox einen beliebigen Zeileninhalt (Name, ID, Position, Organisation,...) suchen könnte und sich die Listbox  automatisch mit allen  übereinstimmenden Datensätzen anpassen würde.

In UserForm_Initialize habe ich die Listbox wie folgt gefüllt: 

Private Sub UserForm_Initialize()

With UserForm1
  .StartUpPosition = 1
  .Top = 1
  .Left = 1
End With

Dim last As Integer
         last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).row + 1

ListBox1.ColumnCount = 12
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = "30;50;200;60;30;110;110;90;50;40;50;80;60"
ListBox1.RowSource = "A2:M" & last

End Sub

Die Suchfunktion habe ich mir so vorgestellt, dass die Listbox bei Eingabe in Textbox1 entsprechend der Eingabe gefiltert wird. 

Nach langer Recherche und Überlegung (bin leider absoluter vba Anfänger) ist folgender Code dazu entstanden:

Private Sub TextBox1_Change()
Dim i As Long
On Error Resume Next
Me.TextBox1.Text = StrConv(Me.TextBox1.Text, vbProperCase)
Me.ListBox1.Clear
For i = 2 To Application.WorksheetFunction.CountA(ActiveSheet.Range("A:A"))
For x = 1 To 12
a = Len(Me.TextBox1.Text)
If Left(ActiveSheet.Cells(i, x).Value, a) = Me.TextBox1.Text And Me.Textbox1.Text <> "" Then
Me.ListBox1.AddItem ActiveSheet.Cells(i, x).Value
For c = 1 To 12
Me.ListBox1.List(Listbox1.ListCount - 1, c) = ActiveSheet.Cells(i, c + 1).Value
Next c
End If
Next i
End Sub

Nun die Frage an Euch: Hat jemand eine schlauere / schlankere Lösung oder könnte vielleicht helfen, meinen Code zum Laufen zu bringen? 

Aktuell bekomme ich bei Ausführung den Laufzeitfehler '9' ausgegeben.


Vielen Dank im Voraus und beste Grüße

Jan


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot Suchfunktion für Listbox in Userform
12.11.2020 13:46:47 Jan
****
NotSolved
12.11.2020 17:26:08 Mackie
*
NotSolved