VBA Validation.Add方法失败

因此,我打开了一个新的Excel工作表,以便了解有关通过VBA进行数据validation创build的更多信息,并且我从Microsoft Developer Network网站input了以下代码:

With Range("$E$5").Validation .Add Type:=xlValidateWholeNumber, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="5", Formula2:="10" .InputTitle = "Integers" .ErrorTitle = "Integers" .InputMessage = "Enter an integer from five to ten" .ErrorMessage = "You must enter a number from five to ten" End With 

我执行代码时出现以下错误:

运行时错误“-2147417848(80010108)”:

方法“添加”对象“validation”失败

我到处search,但没有发现任何问题…

如果已经有了所需单元的validation,就会发生这种情况。 所以如果你在新的工作表上运行这个代码,它会运行正常,但是第二次就会失败。

因此,在添加新的validation之前删除任何validation。

 With Worksheets("Sheet1").Range("$E$5").Validation .Delete 'delete validations first .Add Type:=xlValidateWholeNumber, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="5", Formula2:="10" .InputTitle = "Integers" .ErrorTitle = "Integers" .InputMessage = "Enter an integer from five to ten" .ErrorMessage = "You must enter a number from five to ten" End With 

请注意,您应该始终为Worksheets("Sheet1").Range指定一个Worksheets("Sheet1").Range以避免任何问题。