ListBox einlesen, ohne Duplikate

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm ListBox
Bild

Betrifft: ListBox einlesen, ohne Duplikate
von: MikeS
Geschrieben am: 08.12.2003 12:12:33

Hallo Leute,

ich brüte schon seit einiger Zeit über meinem Problem und komme einfach nicht weiter.

Wie kann ich die nur sichtbaren , mit AutoFilter gefilterten Werte in meine ListBox einlesen?

Jedoch ohne Duplikate !!!

Hier mein ‚kläglicher‘ Versuch:



    'ComboBox ohne Duplikate füllen
    With .cboBaureihe
      For Zähler = 2 To intENDE
        'nur sichtbare Zeilen auswerten
        If Rows(Zähler).RowHeight > 0 Then
          '1.Eintrag ComboBox hinzufügen
          Anzahl = Anzahl + 1
          If Anzahl = 1 Then
            .AddItem Cells(Zähler, intBARE)
            GoTo weiter
          End If
          'wenn neuer Wert vorkommt, hinzufügen
          If Cells(Zähler, intBARE) <> Cells(Zähler + 1, intBARE) Then
            'Wert der ComboBox hinzufügen
            .AddItem Cells(Zähler, intBARE)
          End If
        End If
weiter:
      Next Zähler
    End With



     Code eingefügt mit Syntaxhighlighter 2.5



Vielen Dank für Eure Hilfe.

Ciao MikeS
Bild


Betrifft: AW: ListBox einlesen, ohne Duplikate
von: Boris
Geschrieben am: 08.12.2003 12:35:32

Hi Mike,

hier eine - zugegebenermaßen nicht unbedingt elegante - Lösung.
Gefiltert wird nach Spalte A (z.B. Benutzerdefiniert mit "Beginnt mit" ...).

Dieser Code liest alle Werte ohne doppelte in die Combobox ein:

Option Explicit


Private Sub UserForm_Initialize()
Dim X As Long, Y As Long, B As Boolean
With ComboBox1
    .Clear
    For X = 2 To 1000
        If Cells(X, 1) <> "" And Cells(X, 1).RowHeight > 0 Then
            For Y = 1 To X - 1
                If Cells(Y, 1) = Cells(X, 1) Then
                    B = True
                    Exit For
                End If
            Next Y
            If B = False Then
                .AddItem Cells(X, 1)
            Else
                B = False
            End If
        End If
    Next X
End With
End Sub


Bei 1000 Zeilen geht das sogar noch recht flott...
Aber es gibt bestimmt noch elegantere Lösungen.

Grüße Boris


Bild


Betrifft: Danke, funktioniert
von: Mike
Geschrieben am: 08.12.2003 14:18:55

...


Bild

Beiträge aus den Excel-Beispielen zum Thema " ListBox einlesen, ohne Duplikate"