Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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

Listbox mit 2 Spalten ohne doppelt Einträge füllen

Listbox mit 2 Spalten ohne doppelt Einträge füllen
31.07.2013 17:40:29
Thaler
Hallo erst mal,
dies ist meine erste Frage hier in diesem Forum.
Ich muß eine Anwendung in Excel erstellen in der aus einer Tabelle die Spalte A (z.B. Artikel-Nr.) und C (z.B. Bezeich.) in einer Userform mit Listbox eingelesen werden.
Diese Tabelle wird immer weitergeführt, mit Handeingabe Daten und Sverweisen gefüttert.
Diese Listbox darf keine doppelten Einträge aus Spalte A (Spalte B ist an Spalte A gebunden zur einfacheren Lesbarkeit) aufnehmen und muss sortiert sein. beim Klicken auf die Listbox muss dann der Wert aus Spalte A zurückgegeben werden.
Ich habe die Listbox schon 2 Spaltig füllen können, nur mit den doppelten Einträgen und der Sortierung sieht es dunkel aus.
Wenn mir hier jemand mit Beispielcode helfen könnte wäre ich sehr Dankbar

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

Betreff
Datum
Anwender
Anzeige
SortedList in ListBox
31.07.2013 18:10:49
ransi
Hallo Thaler
Ich weiß nicht wie du deine Listbox füllst, aber sortieren würd ich vorher machen.
Teste mal sowas:
Dim objSortedList As Object
Dim objArrayList As Object
Dim Arr As Variant
Dim out As Variant
Dim L As Long

Set objSortedList = CreateObject("System.collections.SortedList")
Set objArrayList = CreateObject("System.collections.ArrayList")

Arr = Sheets("TAbelle1").Range("A1:C1000") 'anpassen

For L = 1 To UBound(Arr)
    If Arr(L, 1) <> "" Then
        objSortedList(CStr(Arr(L, 1))) = Array(Arr(L, 1), Arr(L, 3))
    End If
Next
objArrayList.addrange objSortedList.getvaluelist
out = WorksheetFunction.Transpose(WorksheetFunction.Transpose(objArrayList.toarray))
With ListBox1
    .List = out
    .ColumnCount = 2
End With

ransi

Anzeige
Scripting.Dictionary ...
31.07.2013 18:13:05
Matthias
Hallo und Willkommen im Forum
Such mal im Archiv (Recherche) nach Scripting.Dictionary
Damit kannst Du Werte "ohne Doppler" einlesen.
Gruß Matthias

AW: Listbox mit 2 Spalten ohne doppelt Einträge füllen
01.08.2013 17:45:13
Thaler
Hallo,
komme erst jetzt dazu zu antworten.
Erst mal Dank an Ransi und Matthias, die Lösung von Ransi funktioniert genauso wie ich mir das vorgestellt habe. Der Hinweis auf Dictionary hilft mir bei andernen Problemen.
Damit kann das Thema abgeschlossen werden. Bis zum nächsten Problem.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige