我只是试图添加一个列表验证单元格,我得到运行时错误1004应用程序定义或对象定义的错误。我有这个确切的代码在我的工作簿中的其他地方验证了一个单元格,它从来没有问题。Excel VBA列表验证 - 特有的运行时错误
With Range("Q3").Validation
.Delete
.Add _
Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Formula1:="=Constants!Q6:Q30"
End With
我也尝试使用字符串“爱丽丝,鲍勃”的Formula1和我得到同样的错误,所以这不是问题。事实上,我只在这个特定的工作表上设置任何类型的验证(例如xlValidateWholeNumber出现同样的错误)时才看到这个错误。
一些信息,可能会或可能不相关:
- 工作表不受保护和screenupdating是关闭的,当我尝试 集此验证
- 以上包含上说CommandButton_Click 事件工作表
- 工作簿中的所有CommandButton控件有 TakeFocusOnClick =假
- 这是微软办公2013
你确定你有一个工作表名为“常量”?确保在表格名称中没有前导或尾随空格。该错误通常在找不到该工作表时发生。 – sous2817
肯定的,就像我说的那样,包含“= Constants!Q6:Q30”的确切代码在工作簿中的其他地方没有错误地用于其他单元的验证。此外,它似乎是任何形式的验证,在这张表导致此错误(例如,我也用xlWholeNumber它)的.Add行。 – user3509102
请发布您的文件(santised)verion我们看看。 – brettdj