So weit läuft der Code durch. Allerdings wird in der Zeile
1
2
|
AuswahlPerson = Auswahl.SelectedListItems 'In AuswahlPerson kann ich den aktuellen Eintrag nicht finden
If AuswahlPerson = Name Then ..... ' Hier kommt es zur Fehlermeldung "13 Typen unverträglich".
|
Zur Erinnerung, das was da zurück kommt ist ein Array. Arrays haben eine untere und eine obere Grenze.
1 2 | untere_Grenze = LBound(ein_array)
obere_Grenze = UBound(ein_array)
|
In unserem Fall, wird es so gehandhabt, dass wirklich immer ein Array zurück gegeben wird; selbst wenn es keine Auswahl gab.
Außerdem fängt der untere Index vom Array bei 1 an (= untere Grenze). Damit kann die obere Grenze automatisch der Anzahl gleichgesetzt werden.
Also:
1 2 3 4 | AuswahlPersonen = Auswahl.SelectedListItems
If UBound(AuswahlPersonen) > 0 Then
End If
|
Wenn du dir den anderen Beitrag noch mal in Ruhe anschaust, wirst du den Hinweis darauf finden. ;)
Grüße
PS: weitere Alternativen, je nachdem was du mit dem Array vor hast:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Dim i As Long
For i = 1 to UBound(AuswahlPersonen)
If AuswahlPersonen(i) = "" Then
End If
Next
Dim Person As Variant
For Each Person in AuswahlPersonen
If Person = "" Then
End If
Next
|
|