我们有一些在 Excel 2003 中创建的旧工作表,这些工作表由基于 LabVIEW 的测试自动化软件使用。当前的 LabVIEW 软件只能处理旧版 .xls 格式,因此我们不得不暂时保留这些工作表。
我们已经迁移到 Office 2010,在使用这些工作表时,我看到此警告:
“早期版本的 Excel 不支持此工作簿中的以下功能。如果以当前选定的文件格式保存此工作簿,这些功能可能会丢失或降级。单击“继续”以保存工作簿。要保留所有功能,请单击“取消”,然后以新文件格式之一保存文件。”
“功能严重丧失”
“此工作簿中的一个或多个单元格包含引用其他工作表上的值的数据验证规则。这些数据验证规则将不会被保存。”
当我单击“查找”时,一些确实具有验证规则的单元格会突出显示,但这些规则都在同一张工作表上!我们使用基于列表的简单验证,其中有些单元格位于一侧,包含有效值(例如,单元格 B4 有一个源为“=$D$4:$E$4”的列表)
这对我来说毫无意义。首先,工作簿是在 Excel 2003 中创建的,因此我们显然无法实现不存在的功能。其次,我们所做的修改根本不涉及更改验证规则。第三,Excel 的投诉是不正确的!所有规则都与目标位于同一张工作表上。
好像这个故事还不够离奇:
我继续使用 Excel 2010 保存工作表。然后我回到实验室的一台旧电脑上,用 Excel 2003 打开了该文档。猜猜怎么着 - 验证没有受到影响!
我的问题是:这是 Excel 2010 中的一个真正的错误,还是旧版 .xls 工作表中的一些奇怪错误,导致 Excel 2010 出现混乱?有其他人在兼容模式下也遇到过这个问题吗?
答案1
这是 Excel 2010 兼容性检查器中的一个已知错误。
当您尝试以某种xls
格式保存工作表并且在执行保存时在非活动工作表上有数据验证公式时,就会发生这种情况。
此错误不正确,且不会造成功能损失。请参阅Microsoft 知识库文章 2757267。
为了验证这一点,请在 2010 年启动一个新的工作簿。在 Sheet1 上,在引用几个相邻单元格的单个单元格中输入数据验证列表。(因此它不会违反引用另一张表中的单元格的规则)。
执行save as
并选择xls
作为文件格式。没有产生错误消息。移至工作表 2。执行save as
并选择xls
作为文件格式。产生错误消息,工作表中没有任何内容,只有一个数据验证列表。
答案2
听起来像是您尝试以旧格式(如 excel 97)保存高级功能时遇到的错误。也许该文件最初是在 2003 年创建的,但保存为 97 兼容格式或类似格式。保存为新的 2010 格式应该没有问题,事实上消息就是这么说的。
答案3
我认为解决您的问题的方法如下:
使用 Excel 2010 打开有问题的 Excel 文件
单击“文件”选项卡,然后单击“信息”
向下滚动到“检查问题”按钮并单击它。然后单击选项“检查兼容性”。将打开一个小窗口,您可以取消勾选“保存此工作簿时检查兼容性”复选框。
单击“确定”
保存文件。
下次保存文件时您将不会看到任何错误消息。
但请注意:如果您的 Excel 文件存在其他问题,此修复将禁止 Excel 向您发出警告。因此,您必须绝对确定确实没有其他问题!