Excel VBA-将正确的参数传递给过程

Excel VBA-将正确的参数传递给过程,vba,excel,vbscript,Vba,Excel,Vbscript,我从昨天起就一直在做这件事,但似乎找不到自己的路 在下面的过程中,我创建了obj。要作为参数传递给底部过程的dropdownRange。但是,当我调试时,这两个参数在“即时窗口”中输出为空。打印它们 我在curCell的->行没有收到错误。但是,验证在下一行->上收到以下错误。添加类型 错误:1004:应用程序定义或对象定义错误 我假设,公式1需要一个引用,它可以导致一个范围,或者一个逗号分隔的列表(根据MSDN)。但它不能像你那样直接处理给定的范围 Formula1属性应该是所指范围的地址,前

我从昨天起就一直在做这件事,但似乎找不到自己的路

在下面的过程中,我创建了obj。要作为参数传递给底部过程的dropdownRange。但是,当我调试时,这两个参数在“即时窗口”中输出为空。打印它们

我在curCell的->行没有收到错误。但是,验证在下一行->上收到以下错误。添加类型

错误:1004:应用程序定义或对象定义错误


我假设,公式1需要一个引用,它可以导致一个范围,或者一个逗号分隔的列表(根据MSDN)。但它不能像你那样直接处理给定的范围


Formula1属性应该是所指范围的地址,前面有一个等号:

 Formula1 := "=" & targetList.Address

您是否尝试使用宏记录器来检查
验证的代码。添加
方法是的,我记录了,然后在中复制并编辑了“targetList”,因为我的范围我在stackoverflow上发现了类似的问题,也许这也能帮到您:我认为它应该是公式1:=targetList.Address。如果验证列表位于不同的工作表上,则需要工作表名称!Address format.Formula1:=“=”&targetList.Address谢谢你,埃博拉,我正在尝试通过动态范围路线来实现这一点。如果这不起作用,我将进入命名范围。请不要忘记将问题标记为已回答(绿色勾号),如果它起作用,否则请让我知道,我将编辑我的答案。
Dim targetAddress As String
targetAddress = "Misc!" & targetList.Address
                   Debug.Print targetAddress
With curCell.Validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:=targetAddress
 Formula1 := "=" & targetList.Address