ich habe eine Listbox1 mit multiselect, deren Einträge aus Sheet2 generiert werden. Listbox1 wird mithilfe ComboBox1 gefiltert. Dazu habe ich ein Textfeld, die ComboBox2, das die Werte auf Sheet2 für die gewählten Einträge übertragen soll.
Beim Speichervorgang funktioniert das Übertragen der Auswahl leider noch nicht. Ich filtere die _ Liste in Sheet2 über den Filter aus ComboBox1, mit dem ich auch die Listbox1 filtere. Bei der For Schleife werden alle gefilterten Einträge aus der Listbox gezählt. Das Übertragen in Sheet2 klappt jedoch noch nicht, da hier noch die nicht sichtbaren Zeilen mitgezählt werden und somit das i aus Listbox1 mit dem des Sheet2 nicht übereinstimmt. Ohne Filter funktioniert der Befehl, da das i der Listbox1 gleich gezählt wird wie die Einträge aus Sheet2.
Private Sub Ensave() 'Speichervorgang = Übertragen aller Eingaben in die Excel-Datei
Dim lZeile As Long
Dim FirstIndexNo As Integer
Dim i As Long
'Filtern der Liste nach Combobox1
If Combobox1 "" Then
Dim Liste As Range
Set Liste = Sheet2.Range("A4:Z500")
Liste.AutoFilter
Liste.AutoFilter Field:=21, Criteria1:=Combobox1.Text
End If
For i = 0 To Listbox1.ListCount - 1
If Listbox1.Selected(i) Then
Sheet2.Cells(i + 5, 12) = ComboBox2.Text 'Hier liegt glaube ich der _
Fehler, weil mit i auch gefilterte Zeilen gezählt werden
Sheet2.Cells(i + 5, 13) = Date
Sheet2.Cells(i + 5, 13).NumberFormat = "dd.mm.yy"
End If
Next i
Exit Sub
End Sub
Vielen Dank für eure Hilfe,
Gruß Markus