VBA宏:应用程序定义或对象定义的错误

时间:2017-05-18 02:54:27

标签: vba excel-vba excel

我在VBA宏的语法上苦苦挣扎。尝试从工作表1上的工作表2列表中创建一个选择,它给我运行时错误' 1004':应用程序定义或对象定义的错误。

Sub Macro1()

Sheets("Sheet1").Select
Sheets("Sheet1").Range("G3").Select
With Selection.Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="Sheet2!$A$1:$A$14"
.IgnoreBlank = True
.InCellDropdown = True
End With


End Sub

请帮助我理解为什么我会收到此错误以及如何解决此问题?

1 个答案:

答案 0 :(得分:1)

如果您多次运行宏,则需要确保删除任何现有验证

Sub Macro1()
    With Sheets("Sheet1").Range("G3").Validation
        'Remove existing validation
        .Delete
        'Add new validation
        .Add Type:=xlValidateList, _
             AlertStyle:=xlValidAlertStop, _
             Operator:=xlBetween, _
             Formula1:="=Sheet2!$A$1:$A$14"
           'Note - need ^ (i.e. the equals sign to make it a formula)
        .IgnoreBlank = True
        .InCellDropdown = True
    End With
End Sub