Validation 数据验证的运行时错误1004

Validation 数据验证的运行时错误1004,validation,excel,vba,Validation,Excel,Vba,我有以下代码来验证单元格的输入是否为0到10之间的整数: Range("c4").Activate With ActiveCell.Validation .Add Type:=xlValidateWholeNumber, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, _ Formula1:="0", _ Formula2:="10" .Input

我有以下代码来验证单元格的输入是否为0到10之间的整数:

Range("c4").Activate
With ActiveCell.Validation
    .Add Type:=xlValidateWholeNumber, _
         AlertStyle:=xlValidAlertStop, _
         Operator:=xlBetween, _
         Formula1:="0", _
         Formula2:="10"
    .InputTitle = "integers"
    .ErrorTitle = "Invalid Rating"
    .InputMessage = "Enter a whole number between 0 and 10"
    .ErrorMessage = "You must enter a whole number between 0 and 10"
End With

但是,每次我运行它时,都会显示运行时错误1004,并显示应用程序定义的错误或对象定义的错误。我查看了其他帖子,但无法准确找出问题所在,因为这应该是一个非常简单的代码。

我认为您对操作有点误解

您的代码将在第一次运行时正常运行,并将按预期设置验证规则。在以后的时间里,它将不起作用,给您带来您看到的错误,因为单元C4的验证已经设置好了

如果您在工作表中选中单元格C4,您将看到您输入的验证实际上有效

要删除添加的验证,请执行以下操作:
Range(“c4”).validation.Delete
。然后,如果您再次运行原始代码,它将正常工作,您将能够像以前一样在单元格C4中看到结果