Excel VBAvalidation列表错误

我经历了各种线程,并得到了validation的几个技巧。 但是,我的代码仍然给我一个错误。 这可能是一个愚蠢的错误,但我不能发现它。

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错误的行。添加应用程序定义或对象定义的错误。

如果我给出正确的公式,你可不可以让我知道?

不知道这是否是唯一的错误,因为您发布的代码没有定义projInfomrowN ,但是您的Add方法尝试连接string"="和范围对象val1Range 。 Range对象的默认属性是Value,所以实际上你将单元格的值或内容而不是地址(这大概是你想要的)连接起来。

要修复,请更改以下行:

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

对此:

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