Also, meine Frage - WIE kann ich in der Listbox "Doppelte" Einträge vermeiden. Ich will wirklich immer nur einmal z.B. Lehmann oder Müller stehen haben...
Vielen Dank und Gruß
Kay
Musterdatei:
https://www.herber.de/bbs/user/72706.xlsm
Private Sub UserForm_Initialize()
Dim col As New Collection
arow = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
On Error Resume Next
For iRow = 2 To arow
col.Add Cells(iRow, 1), Cells(iRow, 1) 'hier wird ein fehler erzeugt, wenn der eintrag _
bereitsvorhanden ist
If Err = 0 And Cells(iRow, 1).Value "TOTAL" Then
ComboBox1.AddItem Cells(iRow, 1)
Else
Err.Clear
End If
Next iRow
On Error GoTo 0
End Sub
Function fncListe2(Optional sText As String)
Dim oDaten As Object
i = 0
k = 0
n = 0
k = Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row
Set oDaten = CreateObject("Scripting.dictionary")
If k = 1 Then
ReDim Preserve arrListe2(0)
fncListe2 = arrListe2
Exit Function
Else
arrTmp2 = Worksheets("Daten").Range("A2:D" & k)
ReDim arrListe2(1 To UBound(arrTmp2))
For i = 1 To UBound(arrTmp2)
If LCase(arrTmp2(i, 2)) Like "*" & LCase(sText) & "*" Then
oDaten(arrTmp2(i, 2)) = 0
End If
Next
On Error Resume Next
fncListe2 = oDaten.keys
End If
End Function