我只是試圖添加一個列表驗證單元格,我得到運行時錯誤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