1

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

        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

我在 .Add 应用程序定义或对象定义的错误线上收到 1004 错误。

如果我给出了正确的公式,你能告诉我吗?

4

1 回答 1

2

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

要修复,请更改此行:

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

对此:

.Add Type:=xlValidateList, Formula1:="=" & val1range.Address
于 2013-11-04T22:36:14.407 回答