Wie kann ich eine Combobox ohne doppelte Werte aus einer Spalte füllen. (ohne Spezialilter)
Wer weiss Rat und hat den richtigen Tipp?
Gruss Walburga
Private Sub UserForm_Initialize()
Dim StListe() As String ' Array für die Werte
Dim Loletzte As Long ' letzte Zeile in Spalte A
Dim LoI As Long ' Schleifenvariable
' unabhängig von Excelversion für Spalte A (1)
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
ReDim Preserve StListe(0 To Loletzte - 2) ' Array Dimensionieren
For LoI = 3 To Loletzte ' Werte in Array schreiben ab Zeile 2
StListe(LoI - 3) = Cells(LoI, 1)
Next LoI
' Liste sortieren von A nach Z
ListBox1.AddItem StListe(1) ' ersten Wert in Listbox schreiben
For LoI = LBound(StListe) + 2 To UBound(StListe)
' Vergleich ob aktueller Wert verschieden vom vorherigen Wert
If StListe(LoI) StListe(LoI - 1) Then ListBox1.AddItem StListe(LoI)
Next LoI
End Sub
Private Sub UserForm_Initialize()
Dim StListe() As String ' Array für die Werte
Dim Loletzte As Long ' letzte Zeile in Spalte A
Dim LoI As Long ' Schleifenvariable
' unabhängig von Excelversion für Spalte A (1)
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
ReDim Preserve StListe(0 To Loletzte - 2) ' Array Dimensionieren
For LoI = 3 To Loletzte ' Werte in Array schreiben ab Zeile 2
StListe(LoI - 3) = Cells(LoI, 1)
Next LoI
' Liste sortieren von A nach Z
ListBox1.AddItem StListe(0) ' ersten Wert in Listbox schreiben
For LoI = LBound(StListe) + 1 To UBound(StListe)
' Vergleich ob aktueller Wert verschieden vom vorherigen Wert
If StListe(LoI) StListe(LoI - 1) Then ListBox1.AddItem StListe(LoI)
Next LoI
End Sub
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen