VBA: Dropdown erstellen

Hallo zusammen,

Ich möchte via VBA ein Dropdown erstellen, dass generisch alle Einträge in Spalte „Input“ enthält (außer „Yes“):
Unbenannt

Idee: Alles in einen String packen und zuweisen (zur Orientierung: „Stream 1“ steht hier in Zelle G5):

a = Sheets("setup sheet").Range("g5").Value

For K = 2 To 11
    If Sheets("setup sheet").Range("G" & 4 + K).Value <> "" Then
        a = a & "; " & Sheets("setup sheet").Range("G" & 4 + K).Value
    End If
Next

For p = 1 To 11
    If Sheets("setup sheet").Range("G" & 17 + p).Value <> "" Then
        a = a & "; " & Sheets("setup sheet").Range("G" & 17 + p).Value
    End If
Next
  
Range("J5", Range("J5").Offset(Worksheets("Setup Sheet").Range("D14").Value * (n + o) - 1, 0)).Select
With Selection.Validation
     .Delete
     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
     xlBetween, Formula1:=a
     .IgnoreBlank = True
     .InCellDropdown = True
     .InputTitle = ""
     .ErrorTitle = ""
     .InputMessage = ""
     .ErrorMessage = ""
     .ShowInput = True
     .ShowError = True
 End With

Für a kommt als Ergebnis „Stream 1; Stream 2; Effekt 1; Effekt 2“ heraus.
Im Dropdown habe ich allerdings nicht (die gewollten) vier Einträge, sondern genau diesen einen („Stream 1; Stream 2; Effekt 1; Effekt 2“):
Unbenannt2

Wenn ich manuell den String eingebe, funktioniert es, wie es soll:
Unbenannt3

Hat jemand eine Idee, woran das liegt und wie man das Problem lösen kann?

Danke schon mal und viele Grüße!
Juli