Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Datensatz suchen und in Listbox markieren





Frage

Hallo zusammen, Gibt es eine Möglichkeit Datensätze in einer Textbox zu suchen und in der Listbox zu markieren. Ich habe eine Userform, eine Listbox in der Daten von Spalte A stehen und 6 Textboxen. Ich möchte nun über einer Textbox einen Namen suchen, der in Spalte A steht und der soll in der Listbox markiert werden. Kann mir einer helfen? Viele Grüße Oskarlein

Antwort 1 von coros

Hi Oskarlein,

kopiere nachfolgenden Code in das VBA Projekt der UserForm, in der sich die Text- und die Listbox befinden.

Private Sub TextBox1_Change()
For Zeilennummer = 1 To Range("A65536").End(xlUp).Row
If TextBox1.Text = Cells(Zeilennummer, 1) Then
ListBox1.ListIndex = Zeilennummer - 1
End If
Next
End Sub


Mit dem Code wird, wenn in der TextBox -hier TextBox1- etwas eigetragen wird, in Spalte A nach einer Übereinstimmung gesucht und wenn gefunden in der ListBox1 markiert.

Ich hoffe, Du kommst klar. Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Oskalein

Guten Morgen Oliver

Vielen Dank für Deine Lösung. Es klappt wunderbar.

Geht es vielleicht auch so:

Jetzt muss ich den korrekten Namen eingeben z.b. Schmitz wenn ich Schmitz klein schreibe findet er den Namen nicht.

Schön wäre es, wenn ich zum Beispiel nur sch eingeben würde und er mir schon mal den ersten Namen mit sch zeigen würde.

Es ist natürlich viel von mir verlangt, aber es würde mir sehr viel weiter helfen.

Viele Grüße und einen schönen Sonntag
Oskalein

Antwort 3 von coros

Hi Oskalein,

mit nachfolgendem Code, den Du gegen den alten Code in der UserForm tauschen musst, sollte das funktionieren, was Du Dir vorgestellt hast.

Private Sub TextBox1_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox1, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox1.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub


Mit dem Code wird, egal ob groß oder Kleinschreibung, bei der Eingabe der Name, der der Eingabe am Nächsten kommt, in der Listbox markiert.

Bei Fragen oder Änderungswünschen melde Dich bitte.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von Oskalein

Hallo Oliver

Ich bedanke mich ganz herzlich für Deinen Code.

Es klappt hervorragend.

Ich bin stolz auf Dich.

Viele Grüße und noch einen schönen Sonntag
Oskalein

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: