0

我最近创建了一个自动化 Excel 实用程序(使用Microsoft Office 2019),我在其中广泛使用了数据验证、VBA 代码、命名范围和格式设置。它运行良好,直到有一天我收到一条 Excel 提示消息,内容如下:

在此处输入图像描述

当我单击 时Yes,它会给我另一个弹出窗口,上面说它恢复了文件,并且还给了我一个指向错误日志 XML 文件的链接。我单击它并使用我的默认浏览器打开 .xml 文件,它显示以下详细信息:

在此处输入图像描述

看起来它正在从特定工作表中删除数据验证,当我在 UI 中导航到该工作表时,我意识到这是真的。为了解决 Excel 应用程序强制执行的这种无根据且重复的数据验证删除,我创建了一个宏代码,它将根据需要重新启用所有这些数据验证。当这个 Excel 文件在另一台计算机上用Microsoft Office 365. 看起来它不仅删除了数据验证,还删除了其他组件,如命名范围和按钮。它可能会删除其他一些东西,我目前不知道。因此,为恢复数据验证而创建的宏不再有用。

为什么会出现这个问题?为什么不同版本的 Excel 表现不同?我该如何解决这个问题?感谢您的帮助。谢谢!

4

1 回答 1

0

正如 Ron Rosenfeld 和 e_conomics 正确建议的那样,问题在于数据验证列表,其来源是超过 255 个字符的逗号分隔值字符串。显然,这是 Excel 的限制。

当我用包含相应值的范围替换数据验证列表的来源(逗号分隔值的字符串)时,问题自行解决了。修复对话再也没有出现过。

于 2021-03-16T12:55:34.607 回答