我有一些组合框,我在打开工作簿时填充 - 数据源来自数据库。
我使用以下代码使用数据验证填充我的组合框:-
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=list
.IgnoreBlank = False
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
其中 list 是我从数据库记录集中构建的逗号分隔字符串。
这一切都很好。稍后我重新打开工作簿时会出现问题。我收到一个错误
“Excel 发现无法读取的内容。是否要恢复此文件的内容”
你说是,然后 Excel 给你
“Excel 能够通过删除功能来修复文件”
并且来自某些组合框的数据验证消失了
我从一些互联网搜索中怀疑我用于数据验证的字符串太长?
将记录集值添加到隐藏表并将数据验证源设置为隐藏表上的范围对我来说不是一个选项,因为组合框是动态的,并且根据用户选择进行切割和更改。我真的只需要能够将数据验证设置为我在用户交互的各个点建立的字符串。
如果是字符串太长的情况,是否可以附加到数据验证,或者我可以使用另一个技巧来解决这个问题?