【发布时间】:2018-03-04 00:02:57
【问题描述】:
当我尝试通过 vba 代码添加 IF 公式时,我收到“应用程序定义或对象定义”错误。我检查了我所有的参考资料,它们似乎是正确的。工作表不受保护。对此错误一无所知,非常感谢任何帮助。
With Range("C3").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=IF(B3="""","""",'Sheet3'!$A$1:$A$2)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
【问题讨论】:
-
更新:调试时“.Add”代码行出现错误。
-
如果你删除
Type:=、AlertStyle:=、Operator:=和Formula1:=,你能试试它是否有效吗?不要删除它们之后的东西,只需删除这些部分。 -
@Moacir 如果删除所有内容,则会出现it is not optional 的错误消息。因为类型是必需的。而当Operator为x1Between时,需要指定公式2
-
@danieltakeshi 我的印象是,由于第一个字段是 Type,第二个字段是 AlertStyle 等,因此在填写这些字段时必须为其命名是多余的。谢谢
-
在我的测试中工作得非常好。检查
Sheet3存在且C3不受保护
标签: excel excel-2007 vba