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

Suchfunktion zum füllen einer Combobox

Suchfunktion zum füllen einer Combobox
27.09.2016 14:30:24
Andre
Hallo zusammen,
erst Mal danke für die viele Hilfe die ich so schon aus diesem Forum ziehen konnte. Leider komme ich mit meinem aktuellen Problem nicht weiter indem ich nur in Foren suche, ich brauche diesmal aktiv eure Hilfe.
Ich arbeite an einer Arbeitsmappe, die aktuell aus zwei Tabellenbesteht.
Datenblatt & Datentabelle
Im Datenblatt werden die Daten aus der Datentabelle struckturiert angezeigt und sortiert.
Die Datentabelle besteht aus Personalnummern, Namen, und jede Menge WAHR/FALSCH Feldern.
Mein Problem:
Ich möchte über eine Combobox die Namen aus der Datenliste aufrufen können. Da es aber ca. 300 Namen werden möchte ich diese filtern lassen, indem man die ersten Buchstaben des Namens eingibt und dann über ein Skript alles passenden suchen lässt.
Nach dem Prinzip "zeig mir alle Namen die mit S beginnen"
Wie ich eine Combobox mit einem dynamischen Bereich füllen kann weiß ich. was mir fehlt ist eine Suchfunktion die mir die erste und die letzte Zeile definiert in der der Suchbegriff zu finden ist.
Userbild
Falls ich mit der Idee so ganz auf dem falschen Dampfer bin verzeiht es mir, ich stehe noch ganz am Anfang von VBA.
Gruße Andre

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion zum füllen einer Combobox
27.09.2016 16:03:09
ChrisL
Hi Andre
Vielleicht so...
Dim sBuchstabe As String
Dim iZeile As Long
sBuchstabe = "sch"
ComboBox1.Clear
With ActiveSheet
For iZeile = 1 To Rows.Count
If .Cells(iZeile, 1) = "" Then Exit Sub
If UCase(Left(.Cells(iZeile, 1), Len(sBuchstabe))) = UCase(sBuchstabe) Then _
ComboBox1.AddItem .Cells(iZeile, 1)
Next iZeile
End With
cu
Chris
AW: Suchfunktion zum füllen einer Combobox
27.09.2016 19:04:39
ChrisL
Hi nochmal...
Das Positive am Code ist, dass es auch mit mehreren Buchstaben funktioniert. Gemäss Screen-Shot gibts auch "Sch" und so.
Weniger positiv ist die For-Next Schleife, weil alle Zellen müssen einzeln abgearbeitet werden, was bei sehr umfangreichen Listen lange dauert. Würde man die Liste vorgängig alphabetisch sortieren, könnte man mindestens nach dem letzten Fund aus der Schleife aussteigen. Wobei 300 Namen sind nicht sehr viel, trotzdem irgendwie unschön.
Was mir auch nicht gefällt, ist die Zeile mit dem Exit Sub. Da muss mich der Teufel geritten haben :) Darum eine kleine Änderung:
Dim sBuchstabe As String
Dim iZeile As Long
sBuchstabe = "sch"
ComboBox1.Clear
With ActiveSheet
For iZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If UCase(Left(.Cells(iZeile, 1), Len(sBuchstabe))) = UCase(sBuchstabe) Then _
ComboBox1.AddItem .Cells(iZeile, 1)
Next iZeile
End With
Neben bei: Bitte beim nächsten mal gleich die Beispieldatei hochladen, weil Bilder nachbauen ist blöd ;)
cu
Chris
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige