Combobox aus zwei Spalten füllen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm ListBox
Bild

Betrifft: Combobox aus zwei Spalten füllen
von: Heinz
Geschrieben am: 01.03.2005 02:16:04
Hi,
hab mal wieder ein kleines Problem.
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.
Wer kann mir da bitte helfen.
Gruß
Heinz

Bild

Betrifft: AW: Combobox aus zwei Spalten füllen
von: Heinz
Geschrieben am: 01.03.2005 02:39:34
Noch eine Anmerkung.
Das Ändern des Adressbereiches "Tabelle1!d4:d" & lr in "Tabelle1!d4:e" & lr
funktioniert nicht.
Gruß
Heinz
Bild

Betrifft: AW: Combobox aus zwei Spalten füllen
von: René Grallinger
Geschrieben am: 01.03.2005 08:45:26
Hallo Heinz
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

Gruss René
Bild

Betrifft: AW: Combobox aus zwei Spalten füllen
von: Heinz
Geschrieben am: 05.03.2005 03:33:27
Hallo Rene,
Danke für die Mühe.
Ich habe das mal ausprobiert, aber irgendwie nicht hinbekommen.
Ich habe jetzt die Tabellen umgestellt und lese die Daten so ein wie vorher, allerdings mit der Column-Angabe je nach ANzahl Spalten.
Gruß
Heinz
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Combobox aus zwei Spalten füllen"