Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte in Listbox prüfen

Werte in Listbox prüfen
Kirsche
hallo leute,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Wechsel von Listbox-Inhalten in UserForm
24.10.2009 23:53:51
Listbox-Inhalten
Hallo Kirsche,
schau Dir mal das verlinkte Beispiel an : Hier werden auch werte aus einer Listbox in eine andere Listbox "verschoben" :
https://www.herber.de/bbs/user/65317.xls
Mit etwas KnowHow kannst Du diese Methode auf Deine Listboxen übertragen.
Gruß, NoNet
AW: Wechsel von Listbox-Inhalten in UserForm
25.10.2009 09:52:32
Listbox-Inhalten
hallo nonet,
danke für deinen rat, aber das passt bei mir nicht, da ich die daten einlese und nicht selektiere.
so wie in dem beispiel habe ich bereits einen button zum hin und her schieben zwischen listbox1 und 2, jedoch lade ich mit der auswahl in der combobox bereits vorhandene daten in listbox2, diese sind in listbox1 auch vorhanden und sollen dort gelöscht werden, damit ein mitarbeiter in dem monat nicht zweimal eingetragen werden kann.
gruß kirsche
Anzeige
AW: Wechsel von Listbox-Inhalten in UserForm
28.10.2009 22:17:12
Listbox-Inhalten
hallo leute,
nach langem knobeln und grübeln habe ich das nun doch selbst hin bekommen.
für alle, die mal das gleiche problem haben setze ich mal meine lösung ins forum.
da ich die recherche ausgiebig nutze, finde ich es nämlich immer schade, wenn die lösung am beitragsende fehlt.

'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
'ausgewählte werte aus Dat_Pflege.Listbox1. entfernen
For X = ListBox1.ListCount - 1 To 0 Step -1
If ListBox1.List(X, 0) = ListBox2.List(lIndex, 0) Then
ListBox1.RemoveItem (X)
End If
Next
lIndex = lIndex + 1
End With
End If
Next iZeile
gruß kirsche
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige