VBA以编程方式添加数据validation

我在网上看了一个小时,找不到任何解决scheme,为我工作。 我有一个单元格的范围,我想基于另一个范围将数据validation应用到该范围内的每个单元格。 我不确定是否需要一个For Each循环,或者如果我可以一次性将validation分配给整个列表。 这是我到目前为止:

With Range(rngMonthStart, rngMonthEnd) With .Validation .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:= ("='Settings'!" & totalrange.Address) End With End With 

当它到达.Add行时,我得到一个应用程序定义的错误。 任何帮助是超级赞赏

你似乎正在覆盖validation。 如果它已经存在,覆盖会导致运行时错误。 尝试:

 With .Validation .Delete .Add ...