ich habe das Problem schon einmal geschildert.
Hier noch mal weil die Lösung welche mir von Rene Grallinger angeboten wurde nicht so recht funzt, davon aber weiter unten mehr.
Ich habe eine Userform mit einer Combobox.
In diese Combobox lade ich Daten aus einer Tabelle.
Gelöst wurde das folgendermaßen:
Private Sub UserForm_Initialize()
Dim lr%
lr = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
Me.ComboBox1.RowSource = "Tabelle1!d4:d" & lr
Me.ComboBox1.ListIndex = 0
Das geht auch wunderbar.
Die Daten werden anschliesend über ComboBox1_change weiter verarbeitet.
Allerdings hätte ich gerne die Werte einer weiteren Spalte gleich in der Combox mit angezeigt um die Auswahl einfacher zu gestalten.
Da ich diese Combobox in verschiedenen UserForms nutze liegt die zweite Spalte nicht immer direkt neben der bisher genutzten. Also um bei obigem Beispiel zu bleiben brauche ich mal Spalte e, mal Spalte b oder mal Spalte f.
Das bekomm ich aber nicht hin.
Noch eine Anmerkung.
Das Ändern des Adressbereiches "Tabelle1!d4:d" & lr in "Tabelle1!d4:e" & lr
funktioniert nicht.
Die Lösung von Rene sah folgendermaßen aus:
Userform erstellen und Listenfeld einfügen
Code einfügen
Private Sub UserForm_Initialize()
Dim Listenfeld()
Dim MaxRecords As Integer
Dim intI As Integer
intI = 4
MaxRecords = 1
Do While Range("D" & intI).Value <> ""
MaxRecords = MaxRecords + 1
intI = intI + 1
Loop
MaxRecords = MaxRecords - 2
intI = 4
ReDim Listenfeld(MaxRecords, 2)
Do While Range("D" & intI).Value <> ""
Listenfeld(intI - 4, 0) = Range("D" & intI).Value
Listenfeld(intI - 4, 1) = Range("D" & intI).Offset(0, 1).Value
intI = intI + 1
Loop
Me.ListBox1.List() = Listenfeld
Me.ListBox1.ColumnCount = 2
End Sub
Wie zu ersehen ist bezieht sich die Lösung auf eine Listbox.
Ich habe aber eine ComboBox!
AUch funzt das mit der Listbox nicht richtig, weil immer nur eine Reihe angezeigt wird. Scrolle ich nach unten kommt nix mehr.
Ich habe versucht anzupassen indem ich aus "Me.ListBox1...." ein "Me.ComboBox1..." gemacht habe.
Auch hier bekomme ich nur eine Reihe angezeigt. Wenn ich dann den angezeigten Wert anklicke um ihn auszuwählen verschwindet der zusätzlich angezeigte Wert.
Wer kann mir hier helfen?
Vielen Dank im Voraus
Gruß
Heinz