命名范围数组不起作用或不可行?

时间:2019-03-21 12:54:51

标签: excel vba named-ranges

我有一个超过256个字符限制的数据验证选项列表,因此我试图使用字符串数组中的命名范围,但它似乎不起作用或不可能吗?

这里是我正在尝试的代码:

ActiveWorkbook.Names.Add Name:="mylist", RefersTo:="={""one"",""two""}"

With Target.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=mylist"
End With

该列表是从vba中的外部数据库查询生成的,我上面仅显示了一个简单的示例。

谢谢

1 个答案:

答案 0 :(得分:2)

这是使用 Sheet1.Range(A1:A10)创建名为 Test 的命名范围并在单元格 Sheet1中导入具有范围值的数据验证的方式.Range(“ B1”)

Option Explicit


Sub test()

    With ThisWorkbook

        .Names.Add Name:="rngTEst", RefersToR1C1:=.Worksheets("Sheet1").Range("A1:A10") 'Create the range

        With .Worksheets("Sheet1").Range("B1").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=INDIRECT(""rngTest"")"
        End With

    End With

End Sub