如何将数组添加到Workbook.Names并在数据验证中引用它?

时间:2018-05-19 15:01:58

标签: arrays vba excel-vba validation excel

我有一个返回一维字符串数组的函数:

"prefix": "+",
"commands": [
     "botinfo",
     "roll",
     "ping"
]

我希望将此列表存储在Workbook.Names名称中,这样可行。但我不能在数据验证中使用它。

我目前使用的(并希望远离)名称管理器中的内容如下:

ThisWorkbook.Names("listOfNames").RefersTo = friendsList("Adam")

我无法让它发挥作用。存储数组时的结果如下:

=INDEX(tblFriends;0;1)

如果我={"Peter"\"Kevin"\"Richard"\"Paul"\"Mike"} 只有一次,那么这就是指定范围内的列表(由于我的Excel语言所在的分号):

transpose

但这对数据验证不起作用,现在我迷失了。

或许可以进一步解释我的问题:
目前,我在数据验证列表下拉列表中使用该列表,我可以从该列表中选择一个值。当我尝试执行相同操作但不使用对工作表中的表的引用时,我希望能够直接从VBA使用数组。现在出现的问题:我没有可供选择的列表。从某种意义上说,数据验证会中断,当我点击下拉列表时,没有任何值。

0 个答案:

没有答案