Hallo an alle
ich bin Anfänger bei VBA und habe eine Frage bezüglich des Dropdown Menu.
Ich will keine Userinput haben. Ich habe meine Drop down menus in Excel eingefügt. In VBA ein Sub start erstellt und habe meine Strings eingelesen.( Das funktioniert super gut). Sieht es so aus.
Worksheets("Tabelle2").Activate
lastrow = ThisWorkbook.Sheets("Tabelle2").Cells(Rows.Count, 3).End(xlUp).Row
lastcolumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Worksheets("Tabelle2").Activate
xi = lastcolumn - 1
For x = 1 To lastcolumn
With Columns(x)
rw1 = Cells(Rows.Count, x).End(xlUp).Row
With Range(Cells(1, x), Cells(rw1, x))
Range(Cells(1, x), Cells(rw1, x)).Select
Selection.CreateNames Top:=True
End With
End With
Next x
xi = lastcolumn + 1
Worksheets("Tabelle1").Activate
Set wks = ThisWorkbook.Worksheets("Tabelle1")
Set Combo1 = wks.OLEObjects("ComboBox1")
Set Combo2 = wks.OLEObjects("ComboBox2")
Set Combo3 = wks.OLEObjects("ComboBox3")
Combo1.ListFillRange = "ABGASNORM"
Combo2.ListFillRange = "Grenzwertart"
End Sub
Wie ich oben erwähnt habe, wollte ich dependent Dropdowns erstellen. Das heisst wenn ich bei erste Dropdown etwas auswähle würde ich bei Dropdown menu 3 dazugehörige strings sehen. Dafür habe ich was programmiert. Aber es funktioniert nicht.
Private Sub ComboBox1_Change()
Set wks = ThisWorkbook.Worksheets("Tabelle1")
Set Combo1 = wks.OLEObjects("ComboBox1")
Set Combo2 = wks.OLEObjects("ComboBox2")
Set Combo3 = wks.OLEObjects("ComboBox3")
Combo1.ListFillRange = "ABGASNORM"
Combo2.ListFillRange = "Grenzwertart"
Select Case Combo1.ListFillRange
Case "Europa"
Combo3.ListFillRange = "Europa"
Case "US Federal TIERII"
Combo3.ListFillRange = "US_Federal_TIERII"
Case "US Federal TIERIII"
Combo3.ListFillRange = "US_Federal_TIERIII"
Case "US CARB LEVII 120k"
Combo3.ListFillRange = "US_CARB_LEVII_120k"
Case "US CARB LEVII 150k"
Combo3.ListFillRange = "US_CARB_LEVII_150k"
Case "CHINA"
Combo3.ListFillRange = "CHINA"
Case "KOREA LEVII"
Combo3.ListFillRange = "KOREA_LEVII"
Case "KOREA LEVIII"
Combo3.ListFillRange = "KOREA_LEVIII"
Case "US CARB LEVIII"
Combo3.ListFillRange = "US_CARB_LEVIII"
End Select
End Sub
Weiss nicht wieso es nicht funktioniert. Kann jemand mir bitte helfen? |