Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Comboboxen mit einander verbinden....
Uwe
Guten Abend an Alle hier im Forum,
Habe mir eine Liste erstellt die Fahrzeughersteller und Typen dazu zeigt...
in Spalte A die Hersteller und in Spalte B die Codezahl für den Hersteller.
In Spalte C sind die Codezahlen für die Typen.... in Spalte D dann die entsprechenden Typen zum jeweiligen Hersteller...
nun möchte ich gern in der Userform in der ersten Combobox den Hersteller aussuchen und dann in der zweiten die dazugehörigen Modelle...... wer kann mir da mal unter die Arme greifen? :-)
https://www.herber.de/bbs/user/70899.xls
für eure Hilfe dank ich schon mal im vorab!!!
Gruß Uwe

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
versuch mal so...
04.08.2010 23:43:25
Tino
Hallo,
kannst ja mal testen.
Option Explicit

Private Sub ComboBox1_Change()
Dim tmpArr(), ArrayData()
Dim lngIndex As Long, lngCount As Long

If ComboBox1.ListIndex > -1 Then
    With Tabelle1
        With .Range("A1", .Cells(.Rows.Count, 1).End(xlUp)).Offset(0, 2)
            ArrayData = .Resize(, 2).Value2
        End With
    End With

    Redim Preserve tmpArr(Ubound(ArrayData) - 1)
    For lngIndex = 1 To Ubound(ArrayData)
        If ArrayData(lngIndex, 1) = ComboBox1.Column(1) Then
            tmpArr(lngCount) = ArrayData(lngIndex, 2)
            lngCount = lngCount + 1
        End If
    Next lngIndex
End If

If lngCount > 0 Then
    Redim Preserve tmpArr(lngCount - 1)
    ComboBox2.List = tmpArr
Else
    ComboBox2.Clear
End If
End Sub

Private Sub UserForm_Initialize()
With Tabelle1
    With .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
        ComboBox1.List = .Resize(, 2).Value2
    End With
End With
End Sub
Gruß Tino
Anzeige
AW: versuch mal so...
05.08.2010 00:03:39
Uwe
Guten Abend Tino,
zuerst mal vielen Dank für die Hilfe!!!!!
hab es getestet...... funktioniert bis Audi einwandfrei... bei auswahl Bmw in combobox 1 gibt er nur noch einen Teil der Auswahl in Combobox 2 wieder.
Ab Cadillac bleibt combobox 2 völlig leer.....
Gruß Uwe
AW: versuch mal so...
05.08.2010 00:13:56
Tino
Hallo,
habe nicht gesehen das die Liste weiter geht.
Private Sub ComboBox1_Change()
Dim tmpArr(), ArrayData()
Dim lngIndex As Long, lngCount As Long

If ComboBox1.ListIndex > -1 Then
    With Tabelle1
        With .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
            ArrayData = .Resize(, 2).Value2
        End With
    End With

    Redim Preserve tmpArr(Ubound(ArrayData) - 1)
    For lngIndex = 1 To Ubound(ArrayData)
        If ArrayData(lngIndex, 1) = ComboBox1.Column(1) Then
            tmpArr(lngCount) = ArrayData(lngIndex, 2)
            lngCount = lngCount + 1
        End If
    Next lngIndex
End If

If lngCount > 0 Then
    Redim Preserve tmpArr(lngCount - 1)
    ComboBox2.List = tmpArr
Else
    ComboBox2.Clear
End If
End Sub
Gruß Tino
Anzeige
Top......
05.08.2010 00:20:26
Uwe
Hallo Tino,
lieben Dank für die tolle und schnelle Hilfe!!!!! Funktioniert wunderbar!!!
...jetzt kann ich mich an den weiteren Ausbau dran geben.
Nochmals Dank und noch einen geruhsamen Restabend :-)
Gruß Uwe

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige