Excel中的最大下拉列表/公式长度

时间:2013-04-15 14:10:49

标签: excel vba excel-vba excel-formula excel-2003

我有以下VBA代码:

myList = "test"

Range("A1:Z1").Validation.Delete
Range("A1:Z1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=myList

如果我的列表超过256个字符,则会被截断。如果超过1024,我会收到执行错误(我认为这是公式的最大长度)。

我如何克服这些限制?我正在使用Excel 2003。

1 个答案:

答案 0 :(得分:1)

使用上面评论中发布的链接,我能够创建一个超过256/1024个字符的下拉列表。这是我在经过多次搜索和尝试后得到的结果:

ActiveWorkbook.Names.Add Name:="List", RefersTo:="=ValidationList!$A$1:$A$" & i
Range("A1:AZ1").Validation.Delete
Range("A1:AZ1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=List"

没有比这更好的了。 i ValidationList 表的行数。我正在动态创建该工作表,并在下拉列表中填写第一个A列,并显示我想要显示的内容。

有用的参考资料: