我需要使用宏创建一个下拉菜单。在Internet上,我发现下面的代码非常有效。唯一的问题是,我需要从特定工作表(例如=$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
答案 0 :(得分:3)
由于您要指定要来自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")
更好的是,也考虑将上述内容与您的工作簿一起使用。