vba-Identischer Code, 2Ergebnisse
09.11.2016 16:15:19
Fred
Folgendes: Im Userform wähle ich über eine Combobox den Inhalt eine Listbox.
Ich habe zwei Combo,- zwei Listboxen.
Bei Klick in jeweiliger Listbox, werden die entsprechenden Werte in Tabellenblätter/Zellen übergeben.
Das Problem: Combobox2 zeigt mir nicht alle Werte,- wie Combobox1, obwohl identischer Code. Genauer gesagt: in Combobox2 wird der erste Wert (befindet sich: Listen, B2) nicht angezeigt. Rs ging bis kurzen noch, dann habe ich in Private Sub ListBox2_Click() rumgefummelt, - und nu das Problem.
Hier mal alle Codes, des Userform:
Private Sub ComboBox1_Change()
Dim liZeile As Integer
liZeile = 2
ListBox1.Clear
With ThisWorkbook.Worksheets("Listen")
Do Until .Range("B" & liZeile).Value = ""
If ComboBox1.Text = .Range("B" & liZeile).Value Then
ListBox1.AddItem .Range("C" & liZeile).Value
End If
liZeile = liZeile + 1
Loop
End With
End Sub
Private Sub ComboBox2_Change()
Dim liZeile As Integer
liZeile = 2
ListBox2.Clear
With ThisWorkbook.Worksheets("Listen")
Do Until .Range("B" & liZeile).Value = ""
If ComboBox2.Text = .Range("B" & liZeile).Value Then
ListBox2.AddItem .Range("C" & liZeile).Value
End If
liZeile = liZeile + 1
Loop
End With
End Sub
Private Sub ListBox1_Click()
With ListBox1
ThisWorkbook.Worksheets("Center").Cells(6, 17).Value = .List(pvargIndex:=.ListIndex)
ThisWorkbook.Worksheets("Kriterien").Cells(2, 3).Value = .List(pvargIndex:=.ListIndex)
End With
End Sub
Private Sub ListBox2_Click()
With ListBox2
ThisWorkbook.Worksheets("Center").Cells(6, 18).Value = .List(pvargIndex:=.ListIndex)
ThisWorkbook.Worksheets("Kriterien").Cells(2, 4).Value = .List(pvargIndex:=.ListIndex)
End With
End Sub
Private Sub UserForm_Activate()
Dim liZeile As Integer
ComboBox1.Clear
With ThisWorkbook.Worksheets("Listen")
ComboBox1.AddItem .Range("B2").Value
liZeile = 3
Do Until .Range("B" & liZeile).Value = ""
If .Range("B" & liZeile).Value .Range("B" & liZeile - 1).Value Then
ComboBox1.AddItem .Range("B" & liZeile).Value
End If
liZeile = liZeile + 1
Loop
End With
ComboBox1.Text = "...Liga auswählen..."
ComboBox2.Clear
With ThisWorkbook.Worksheets("Listen")
ComboBox1.AddItem .Range("B2").Value
liZeile = 3
Do Until .Range("B" & liZeile).Value = ""
If .Range("B" & liZeile).Value .Range("B" & liZeile - 1).Value Then
ComboBox2.AddItem .Range("B" & liZeile).Value
End If
liZeile = liZeile + 1
Loop
End With
ComboBox1.Text = "...Liga auswählen..."
End Sub
Ich habe eine Beispielmappe beigelegt.https://www.herber.de/bbs/user/109299.xlsm
Kann mir jemand sagen, wo der Fehler ist?
mfg
Fred