Кажется, вы не можете этого сделать, или в документации довольно явно:
xlValidateList - Formula1 требуется, Formula2 игнорируется.Формула 1 должна содержать либо список значений, разделенных запятыми, либо ссылку на рабочий лист на этот список.
Тем не менее, я также попытался:
Public Sub PullDown()
Dim MyList(5) As String
MyList(0) = "cat"
MyList(1) = "dog"
MyList(2) = Worksheets(1).Range("A1")
With Worksheets(1).Range("C10").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=Join(MyList, ",")
End With
End Sub
Так что можно сказать, чтоон работает каждый раз, когда вы запускаете код, но не так, как вы хотели:
