excel - 命名范围数组不起作用或不可能?

标签 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 中的外部数据库查询生成的,我只是在上面展示了一个简单的示例。

谢谢

最佳答案

这就是创建名为 的命名范围的方法。测试 使用 Sheet1.Range(A1:A10) & 在单元格 中导入具有范围值的数据验证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

关于excel - 命名范围数组不起作用或不可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55280929/

相关文章:

excel - 在 Selenium VBA 中提取变化的 XPath

excel - 再次动态范围 - 再次使用文本字符串

c# - 通过 C# 设置 Excel 命名范围?

vba - Excel VBA 中的 IF ElseIF 语句

mysql - 在 MySQL 中为任何主机设置用户权限

Excel VBA : use of specialcells doesn't work if worksheet is protected

vba - Excel VBA : Workbook-scoped, 工作表依赖命名公式/命名范围(结果根据事件工作表而变化)

excel - 下载excel表查询结果,无需写入文件coldfusion

c# - 与 C# 和 VBA 的并行 COM 互操作

excel - VBA:如何引用组合框对象