gpt4 book ai didi

Excel VBA 数据验证 - 下拉 : Options too many to be saved, 导致错误 "Excel found unreadable content"

转载 作者:行者123 更新时间:2023-12-04 20:54:16 25 4
gpt4 key购买 nike

我在 Excel 工作表上的单元格范围中添加了一个下拉选项,您可以在其中从数据库加载的 100 多个帐户中进行选择。我在这里添加了一个示例代码(String s 包含所有帐户,假设它至少是一个 500+ 字符的字符串,在原始代码中,帐户被加载到带有 makro 的字符串中):

Dim r As Range
Dim v As Variant
Dim s As String

s = "Account_a,Account_b,Account_c.." ' <-- really long string, contains 100+ accounts
Set r = ActiveSheet.Range("A1:A100")

For Each v In r
v.Validation.Delete
v.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=s
Next v

问题是 Excel 无法以特定字符串长度保存数据验证(对于 s,错误已经出现在 256+ 字符长度,经过一些研究我发现这似乎是许多 excel VBA 字符串函数的断点),所以当我保存此工作表时,将其关闭并再次打开它会出现错误(“Excel 发现无法读取的内容”,如果您尝试修复它,Excel 会从工作表中删除数据验证,因为它“不可读” ),并且从数据库中加载的帐户消失了。

保存工作簿时,是否可以选择增加数据验证的最大字符串长度?这里唯一的问题似乎是数据量,因为如果我只加载 20% 的帐户,这可以正常工作。

更新: AcsErno 写的评论中有一个替代解决方案,也可以在这里找到: Excel keep loading my spreadsheet with an error (问题的第一个答案)

最佳答案

您可以将帐户加载到命名范围并将其用作验证列表,例如 here .

关于Excel VBA 数据验证 - 下拉 : Options too many to be saved, 导致错误 "Excel found unreadable content",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51609147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com