Excel VBA验证列表错误

时间:2013-11-04 22:25:35

标签: excel vba excel-vba

我经历了各种各样的线程并获得了有关验证的几个提示。但我的代码仍然给我一个错误。这可能是一个愚蠢的错误,但我无法发现它。

        Set val1range = projInfo.Range(projInfo.Cells(2, 23), projInfo.Cells(m, 23))     

        With Cells(rowN, 3).Validation
                .Delete
                .Add Type:=xlValidateList, Formula1:="=" & val1range

                .IgnoreBlank = True
                .InCellDropdown = True
                .InputTitle = ""
                .ErrorTitle = ""
                .InputMessage = ""
                .ErrorMessage = ""
                .ShowInput = True
                .ShowError = True
        End With

我收到了1004错误。添加 应用程序定义或对象定义的错误。

如果我给出正确的公式,请告诉我吗?

1 个答案:

答案 0 :(得分:2)

不确定这是否是唯一的错误,因为您发布的代码未定义projInfomrowN,但您的Add方法正在尝试连接字符串, "="和范围对象val1Range。 Range对象的默认属性是Value,因此实际上您将"="与单元格的值或 content 连接而不是其地址(可能是您想要的)。

要修复,请更改此行:

.Add Type:=xlValidateList, Formula1:="=" & val1range

到此:

.Add Type:=xlValidateList, Formula1:="=" & val1range.Address