VBA ValidateList - Laufzeitfehler 1004
05.10.2021 10:03:19
BuddyHoli
ich versuche an zwei Stellen in meinem Programm eine Gültigkeitsprüfung mit DropDown-Liste in Zellen zu schreiben.
Dazu habe ich zwei Arrays angelegt, nämlich ValSeasons und ValTeams, beide vom Typ String.
Möchte ich nun beispielsweise eine DropDown-Liste für ValSeasons in die Zelle C18 schreiben, mache ich das so:
With ThisWorkbook.Worksheets("Analysen").Range("C26").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(ValSeasons, ",")
End With
Das klappt auch problemlos.Mache ich das Ganze aber für ValTeams, und zwar so:
With ThisWorkbook.Worksheets("Analysen").Range("C28").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(ValTeams, ",")
End With
Erhalte ich für die Zeile
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(ValTeams, ",")
die Fehlermeldung: "Laufzeitfehler '1004': Anwendungs- oder objektorientierter Fehler"Den Array ValTeams befülle ich einfach mit Werten aus einer Spalte:
For Row = 2 To LastRow
ValTeams(TeamCounter) = Worksheets("Arrays").Range("I" & Row).Value
TeamCounter = TeamCounter + 1
Next Row
Und ich kann mir nach dem Befüllen auch mit
MsgBox Join(ValTeams, vbCrLf)
den gesamten Inhalt des Arrays anzeigen lassen.Der Fehler erscheint dennoch.
Ich hoffe, jemand sieht, was ich nicht sehe
Gruß
BuddyHoli