PDA

Vollständige Version anzeigen : Dropdown - doppelte einträge


SeNf
28.04.2009, 11:38
in einer liste habe ich doppelte einträge was auch so sein muß, ich möchte diese liste über rowsource einlesen dort aber die doppelten löschen...
wie mach ich das am besten?
Gruß

NoNet
28.04.2009, 12:03
Hey,

wenn Du die Listbox mit "RowSource" an einen Tabellenbereich bindest, kannst Du die redundanten Datensätze nicht eliminieren !

Alternative : Lies die Daten aus der Tabelle per FOR...NEXT-Schleife in die Listbox ein. Zum Ausfiltern der redundanten Datensätze verwendest Du am besten eine vorgeschaltete Collection, die über Angabe eines Keys (2.Argument der (Coll.Add-Anweisung) dafür sorgt, dass kein Wert doppelt in die Collection eingetragen werden kann. Anschliessend überträgst Du die (nun eindeutigen !) Werte der Collection in die Listbox.

Hier der konkrete Code, der beim Anzeigen des UserForms ausgeführt wird :
Private Sub UserForm_Activate()
Dim coll As New Collection
Dim lngZ As Long

ListBox1.Clear
On Error Resume Next 'Fehlerbehandlung einschalten
For lngz = 2 To Cells(Rows.Count, 1).End(xlUp).Row 'Zeile 2 bis Ende der Spalte A
'Collection mit Key hinzufügen - falls Key bereits vorhanden : Fehler (wird nicht angezeigt)
coll.Add Cells(lngz, 1), Cells(lngz, 1)
Next

For lngz = 0 To coll.Count
ListBox1.AddItem coll(lngz) 'Daten aus Collection in die Listbox schreiben
Next

On Error GoTo 0 'Fehlerbehandlung wieder ausschalten
End Sub

SeNf
29.04.2009, 10:34
das geht leider so nicht es passiert gar nichts... :-(
gruß

michael_buller
11.05.2009, 06:38
Danke :D war genau das was ich gesucht habe :D ^^