命名范围数组不起作用或不可能?
Named range array not working or not possible?
我有一个选项列表超过了 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) 创建名为 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
我有一个选项列表超过了 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) 创建名为 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