Combobox - Eingabe Suchbegriff (nicht nur 1 Buchstabe)
25.11.2019 21:04:26
Peter
Text auswählen, Zahl übernehmen - war mein Beitrag vom 14.11.2019 15:00:44.
Dazu hat mir Werner folgende Lösung gepostet:
Private Sub ComboBox1_Change()
If Me.ComboBox1.ListIndex > -1 Then
'Blattname anpassen
ActiveCell = Worksheets("Tabelle1").Columns("A") _
.Find(what:=Me.ComboBox1, _
LookIn:=xlValues, lookat:=xlWhole).Offset(, 1).Value
Unload Me
End If
End Sub
Private Sub UserForm_Initialize()
Dim i As Long
'Blatt mit der Liste in Spalte A
'Blattname an deine Bedürfnisse anpassen
With Worksheets("Tabelle1")
For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
Me.ComboBox1.AddItem .Cells(i, "A")
Next i
End With
End Sub
Folgender Code ins Codemodul von "DieseArbeitsmappe"
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel _
_
As Boolean)
Cancel = True
UserForm1.Show
End Sub
Ich habe das nun umgeesetzt und es hat auf Anhieb funktioniert.
Nun habe ich noch zwei Fragen:
- Verständnisfrage:
Wie ist das Zusammenspiel von Sub ComboBox1_Change und Sub UserForm_initialize - von was genau wird der Sub ComboBox1_Change aufgerufen?
- Weitere Frage:
Wenn die Combobox aufgerufen wird, und ich zum Beispiel den Buchstaben "a" eingebe, wird mir sofort als Ergebnis der erste Eintrag mit "a" (z.B. "Aarau") zurückgegeben. Ich habe gar nicht die Möglichkeit den zweiten Buchstaben des Suchbegriffes einzugeben (wenn zum Beispiel "Andelfingen" der Suchbegriff ist).
Gibt es eine Möglichkeit, dass nicht gleich nach Eingabe eines Buchstabens der erste Begriff zurück gegeben wird. Idealer wäre, wenn ich die weiteren Buchstaben des Suchbegriffes eingeben kann und dann Enter drücken muss, bevor die Rückgabe der Zahl zu dem gerade aktiven Begrifferfolgt.
Danke, Peter
Anzeige