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