wieder einmal benötige ich eure hilfe.
ich habe 2 listboxen in einer UF.
listbox1 wird beim inizialisieren der UF gefüllt mit allen mitarbeitern gefüllt.
über combobox wähle ich ein jahr aus und in listbox2 erscheinen die jeweiligen mitarbeiter, welche ich hierfür festgelegt habe.
nun möchte ich die einträge in listbox1 löschen, welche in listbox2 geladen wurden, damit ein mitarbeiter nicht doppelt gewählt wird.
so lade ich die daten in die listboxen:
'listbox1 befüllen mitarbeiterliste
lIndex = 0
For iZeile = 4 To wks_MA.Range("A65536").End(xlUp).Row
With ListBox1
.AddItem ""
.List(lIndex, 0) = wks_MA.Cells(iZeile, 1) 'nr
.List(lIndex, 1) = wks_MA.Cells(iZeile, 2) 'name
.List(lIndex, 2) = wks_MA.Cells(iZeile, 3) 'vorname
.List(lIndex, 3) = wks_MA.Cells(iZeile, 5) 'anstellung
.List(lIndex, 4) = wks_MA.Cells(iZeile, 6) 'stunden/woche
lIndex = lIndex + 1
End With
Next iZeile
'listbox2 befüllen vorhandene mitarbeiter
lIndex = 0
ListBox2.Clear
For iZeile = 3 To wks_DP_MA_A.Range("A65536").End(xlUp).Row
If wks_DP_MA_A.Cells(iZeile, 1) = i Then
With ListBox2
.AddItem ""
.List(lIndex, 0) = wks_DP_MA_A.Cells(iZeile, 3) 'nr
.List(lIndex, 1) = wks_DP_MA_A.Cells(iZeile, 4) 'name
.List(lIndex, 2) = wks_DP_MA_A.Cells(iZeile, 5) 'vorname
.List(lIndex, 3) = wks_DP_MA_A.Cells(iZeile, 6) 'anstellung
.List(lIndex, 4) = wks_DP_MA_A.Cells(iZeile, 7) 'stunden/woche
lIndex = lIndex + 1
End With
End If
Next iZeile
mein ansatz funktioniert leider nicht ganz.
For iList = 0 To ListBox1.ListCount - 1
For jList = 0 To ListBox2.ListCount - 1
If ListBox2.List(jList, 0) = ListBox1.List(iList, 0) Then 'nr
ListBox1.RemoveItem (iList)
End If
Next jList
Next iList
kann mir vielleicht jemand helfen?
gruß kirsche