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.
untere_Grenze = LBound(ein_array) ' gibt die untere Grenze für die erste Dimension an
obere_Grenze = UBound(ein_array) ' gibt die obere Grenze für die erste Dimension an
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:
AuswahlPersonen = Auswahl.SelectedListItems
If UBound(AuswahlPersonen) > 0 Then 'sprich: gibt es mindestens ein Element?
'...
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:
Dim i As Long
For i = 1 to UBound(AuswahlPersonen)
If AuswahlPersonen(i) = "" Then
'...
End If
Next
'oder
Dim Person As Variant
For Each Person in AuswahlPersonen
If Person = "" Then
'...
End If
Next
|