VBA excel代码:在validation中不能给出命名范围到formula1

我怎样才能通过vba代码添加一个validation列表,将引用一个命名的范围? 这样列表将包含一个命名范围的值? 我可以这样做,如Formula1:=“= $ A $ 1:$ A $ 10”但我怎么能给一个命名的范围?

您可以使用下面的代码:

'Create the named range (if not done already) ActiveWorkbook.Names.Add Name:="listdata", RefersTo:= "=Sheet2!$A$1:$A$10" 'Set a validation list on the cells that will refer to the named range With Range("A1:A100") With .Validation .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=listdata" End With End With