verwende von Franz diesen Code, damit bei der Initialisierung die Zeilen korrekt übernommen werden.
Dim lRow As Long
Set wks = Sheets("Daten")
With Me.ListBox1
.ColumnCount = 4
.ColumnWidths = "0Pt;200Pt;15Pt;20Pt" 'erster Pt = Zeilennummer > 0Pt = ohne Anzeige
'Daten der Listbox zuweisen
For lRow = 9 To 999
If LCase(wks.Cells(lRow, 6)) > "" Then 'Eintrag in Spalte F
.AddItem lRow 'Zeilennummer
.List(.ListCount - 1, 1) = wks.Cells(lRow, 6).Text 'Spalte F
If LCase(wks.Cells(lRow, 2)) = True Then
.Selected(.ListCount - 1) = True
End If
Else
wks.Cells(lRow, 2).ClearContents
End If
Next
End With
Nun habe ich beim ListBox_click-Ereignis folgenden Code eingebaut:
Dim iZ As Integer
iZ = 9 ' erste Zeile der Tabelle
With UserForm1
'MultiPage1
.TextBoxMP11.Value = ListBox1.List(Me.ListBox1.ListIndex, 1)
.ComboBoxMP12 = wks.Cells(Me.ListBox1.ListIndex + iZ, 7)
.ComboBoxMP13 = wks.Cells(Me.ListBox1.ListIndex + iZ, 8)
.ComboBoxMP14 = wks.Cells(Me.ListBox1.ListIndex + iZ, 9)
'MultiPage2
End With
End Sub
Klappt auch vom Grundsatz her. Nur nicht, wenn ich in Spalte F eine Leerzeile habe.Folglich müsste ich hier auch mit der Variablen lRow arbeiten.
Nur bei Initialize habe ich ja "For lRow = 9 To 999".
Wie bekomme ich dies nun auf den ListIndex bzw. hier wohl ListCount-Wert abgestimmt?
Gruß Rainer