我几乎可以肯定,我将不得不创建一个新的excel文件,但也许至少在这里我有一些想法,什么是问题的根源。
我的excel文件经常出现以下错误:
Excel在“filename.xlsm”中找到不可读的内容。要恢复此工作簿的内容吗?如果您信任此工作簿的来源,请单击“是”。
我就是这么做的。该文件在修复后打开,显示:
移除记录:从/xl/worksheets/sheet10.xml部分进行排序。
细节是我甚至没有sheet10
它是一个很大的excel文件,里面满是自定义对象。但我没有DB连接或自动筛选器,因此不能与AutoFilter Criteria Using Array (Error) - Too Large String?或xlsx error: "Removed Records: Named range from /xl/workbook.xml part" when tried to resolve errors相关联。
有人知道怎么回事吗?
tks预先
发布于 2013-12-13 11:07:30
恐怕我无法解释发生了什么,但我有过几次类似的经历--总是使用XLSM文件。在最近的案例中,我了解到Excel不喜欢两次使用的相同的范围名称,当定义为工作表范围名称时(我们假设这样使用它是安全的)。
我们的故障排除路径是:
通常第一步解决了问题,但是第三步从未让我们失望。
发布于 2014-01-31 15:28:11
试着在保存工作簿之前清除该类型。当这件事发生在我身上时,我把我的工作表推荐信搞混了,所以这类文件没有被清除。
Sheets(yoursheetname).Sort.SortFields.Clear
发布于 2016-04-06 03:17:01
太棒了,
这个问题把我逼疯了!
作为xlsb (二进制)文件的保存加上添加排序字段的清除似乎解决了我的问题。
我将下面的代码添加到BeforeClose子程序中,它看起来非常快地清除了字段,更改了我的仪表板并提示保存。
文件大小保存在mb上的xlsb文件看起来加载得更快了!
谢谢你的指点和支持!
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sht As Worksheet
' Clear all Sort Fields prior to Save & Exit
For Each Sht In Application.Worksheets
Sht.Sort.SortFields.Clear
Next Sht
aa1_Dashboard1.Select
aa1_Dashboard1.Activate
End Sub
https://stackoverflow.com/questions/20561870
复制相似问题