ich habe so ziemlich jeden Beitrag im Archiv zu diesem Thema durch, aber leider nichts passendes gefunden bzw. nicht verstanden ;-)
Folgendes Tabellenblatt:
SPALTE A.....SPALTE B
----------------
Januar.......20
Januar.......20
März.........10
Februar......10
März.........10
Januar.......5
Über die Combobox1 wähle ich z.b den Januar. Nun stehen in Combobox2 alle Werte in Abhänigkeit von Combobox1, d.h. "20", "20", "5"
Was ich jetzt will, ist, das die doppelten Werte, also "20", in der CB2 nur einmal aufgeführt werden (wenn möglich sollten die Werte in den Comboboxen auch sortiert sein).
Hier noch den Code den ich habe um die Werte in der gegenseitgen Abhängikeit von CB2 CB1 auszugeben. Vielleicht könnt ihr mir dann auch gleich sagen wo ich euren "Hilfscode :-) " genau einbauen muss...
Private Sub ComboBox1_Click()
Dim monat As String, i As Integer
Me.ComboBox2.Clear
monat = Me.ComboBox1.Text
i = 2
With Sheets("Tabelle1")
Do While .Cells(i, 1) <> ""
If .Cells(i, 1) = monat Then
Me.ComboBox2.AddItem .Cells(i, 2)
End If
i = i + 1
Loop
End With
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer
Me.ComboBox1.Clear
Me.ComboBox2.Clear
With Sheets("Tabelle1")
For i = 2 To 546
If .Cells(i, 2) <> .Cells(i - 1, 2) Then
Me.ComboBox2.AddItem .Cells(i, 2)
End If
Next i
End With
With Sheets("Tabelle1")
For i = 2 To 546
If .Cells(i, 1) <> .Cells(i - 1, 1) Then
Me.ComboBox1.AddItem .Cells(i, 1)
End If
Next i
End With
End Sub
Private Sub ComboBox2_Click()
Dim monat As String, i As Integer
Me.ComboBox1.Clear
monat = Me.ComboBox2.Text
i = 2
With Sheets("Tabelle1")
Do While .Cells(i, 2) <> ""
If .Cells(i, 2) = monat Then
Me.ComboBox1.AddItem .Cells(i, 1)
End If
i = i + 1
Loop
End With
End Sub
***********
Vielen Dank an alle schonmal
Grüße FABIO