Ich bin neue hier im Forum und bin gerade dabei mir das Excel/VBA Programmieren beizubringen. Im Forum habe ich einen Quellcode für eine Combobox gefunden. Der Code funktioniert soweit.
Ich würde den Code aber gerne so umbauen, dass ich eine Combobox mit 2 Spalten angezeigt bekomme.
Die Werte für die Combobox stehen in der Arbeitsmappe "Uebersich" in der Spalte "B" (Name) z.B. Thomas Schmidt und "D" (ID) 16295. Die Liste ist dynamisch und ändert sich.
Also wenn man Schmidt oder 16295 eingibt sollte man Thomas Schmidt 16295 als Vorschlag erhalten.
Nachdem man dann seine Auswahl getroffen hat, würde ich mit dem entsprechenden ID Wert weitermachen.
Sprich es geht darum aus einer Liste einen bestimmten ID Wert zu ermitteln.
Im Moment ist es so, dass wenn man eine Zahl in der Combobox eingibt, man eine Fehlermeldung erhält (Index außerhalb gültigen Bereich).
Ich vermute mal das es daran liegt das sText als String deklariert ist.
Meine Versuche das zu ändern, führten leider zu weiteren Fehlermeldungen. In den Eigenschaften für die Combobox habe ich bei ColummCount eine 2 eingetragen.
Kann mir bitte jemand bei diesem Problem helfen und mir genau den Code erklären.
Im Moment blicke ich da nicht genau durch. Danke
Private Sub cboListe_Change()
cboListe.List = fncListe(cboListe.Value)
cboListe.DropDown
End Sub
Private Sub UserForm_Activate()
cboListe.List = fncListe
End Sub
Function fncListe(Optional sText As String)
Dim arrTmp, n As Integer, i As Integer, arrListe()
arrTmp = Range(Cells(7, 2), Cells(Rows.Count, 2).End(xlUp)) 'Listenbereich
ReDim arrListe(1 To UBound(arrTmp))
For i = 1 To UBound(arrTmp)
If arrTmp(i, 1) Like "*" & sText & "*" Then
n = n + 1
arrListe(n) = arrTmp(i, 1)
End If
Next
ReDim Preserve arrListe(1 To n)
fncListe = arrListe
End Function