ich habe ein UserForm Makro geschrieben in dem ich eine ListBox mit bestimmten Werten aus einem Tabellenblatt befallen möchte.
Dazu wählt man zuerst einen bestimmten Namen aus einer ComboBox. Dieser Name wird dann in dem Tabellenblatt WSHistorie gesucht um die genaue Spalte zu identifizieren.
In der identifizierten Spalte soll dann jeder Wert in die ListBox eingetragen werden, aber niemals doppelt (dh nicht wenn dieser bereits in der Listbox steht) und nur wenn auch ein Wert in der Zelle steht.
Dazu soll auch noch der Wert aus der Zelle 2 Spalten weiter in die zweite Spalte der Listbox eingetragen werden.
Leider wird kein Wert in der Listbox angezeigt :( Daher meine Frage an euch, ob ihr in dem unterem Code irgend einen Fehler entdeckt, der diesen Fehler verursachen könnte.
Besten Dank schon mal!
Private Sub ComboBox1_Change()
Dim WSHistorie As Worksheet
Dim Zeile As Long
Dim ZeileMax As Long
Dim SpalteMax As Long
Dim Spalte As Long
Dim x As Long
Dim Treffer As Range
Me.ListBox1.Clear
Set WSHistorie = ThisWorkbook.Worksheets("HistorieBelegung")
SpalteMax = WSHistorie.Cells(1, Columns.Count).End(xlToLeft).Column
Set Treffer = Range(WSHistorie.Cells(1, 5), WSHistorie.Cells(1, SpalteMax)).Find(What:=Me. _
ComboBox1.Value, lookat:=xlWhole)
If Not Treffer Is Nothing Then
Spalte = Treffer.Column
End If
For Zeile = 4 To 153
For x = 0 To ListBox1.ListCount - 1
If WSHistorie.Cells(Zeile, Spalte).Value "" And WSHistorie.Cells(Zeile, Spalte). _
Value Me.ListBox1.List(x) Then
Me.ListBox1.AddItem WSHistorie.Cells(Zeile, Saplte).Value
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = WSHistorie.Cells(Zeile, Spalte + 2). _
Value
End If
Next x
Next Zeile
End Sub