我有以下VBA代码:
myList = "test"
Range("A1:Z1").Validation.Delete
Range("A1:Z1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=myList
如果我的列表超过256个字符,则会被截断。如果超过1024,我会收到执行错误(我认为这是公式的最大长度)。
我如何克服这些限制?我正在使用Excel 2003。
答案 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列,并显示我想要显示的内容。
有用的参考资料: