Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
348to352
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
348to352
348to352
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ListBox einlesen, ohne Duplikate

ListBox einlesen, ohne Duplikate
08.12.2003 12:12:33
MikeS
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox einlesen, ohne Duplikate
08.12.2003 12:35:32
Boris
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
Anzeige
Danke, funktioniert
08.12.2003 14:18:55
Mike
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige