我需要创建一个下拉菜单使用宏。在互联网上,我发现下面的代码工作得很好。唯一的问题是,我需要从特定的工作表中获取下拉菜单(即=$B$1:$B$6
)上的内容(比方说Sheet2
)。试过几次试图指向特定的纸张,但不幸的是,这些尝试都没有奏效。
With Range("A1:A100")
With .Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$B$1:$B$6"
End With
End With
发布于 2018-11-18 03:21:55
由于您指定希望验证来自Sheet2
,所以需要将其添加到公式Formula1:="=Sheet2!$B$1:$B$6"
中。
我还会添加一个.delete
,以首先清除任何先前的验证--否则,如果您有任何先前尝试的验证,您可能会遇到错误。
With Range("A1:A100")
With .Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Sheet2!$B$1:$B$6"
End With
End With
最后,您应该考虑使用工作表对您的Range("A1:A100")
进行限定,如下所示
With Worksheets("Sheet1").Range("A1:A100")
更好的是,也可以考虑用工作簿对上面的内容进行限定。
https://stackoverflow.com/questions/53360206
复制相似问题