首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel错误:删除记录:从/xl/工作表/Sheet10.xml部分排序

Excel错误:删除记录:从/xl/工作表/Sheet10.xml部分排序
EN

Stack Overflow用户
提问于 2013-12-13 08:11:27
回答 8查看 107.5K关注 0票数 16

我几乎可以肯定,我将不得不创建一个新的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预先

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-12-13 11:07:30

恐怕我无法解释发生了什么,但我有过几次类似的经历--总是使用XLSM文件。在最近的案例中,我了解到Excel不喜欢两次使用的相同的范围名称,当定义为工作表范围名称时(我们假设这样使用它是安全的)。

我们的故障排除路径是:

  • 尝试将文件保存为XLSB (二进制宏文件)并使用XLSB文件或将其保存回XLSM
  • 检查文件历史记录(我们总是保存每日快照),并查找问题首次发生的时间;使用以前的版本并移植您的更改。
  • 解压代码(通过SVN代码),创建一个新的工作簿并将代码导入回

通常第一步解决了问题,但是第三步从未让我们失望。

票数 13
EN

Stack Overflow用户

发布于 2014-01-31 15:28:11

试着在保存工作簿之前清除该类型。当这件事发生在我身上时,我把我的工作表推荐信搞混了,所以这类文件没有被清除。

代码语言:javascript
运行
复制
Sheets(yoursheetname).Sort.SortFields.Clear
票数 41
EN

Stack Overflow用户

发布于 2016-04-06 03:17:01

太棒了,

这个问题把我逼疯了!

作为xlsb (二进制)文件的保存加上添加排序字段的清除似乎解决了我的问题。

我将下面的代码添加到BeforeClose子程序中,它看起来非常快地清除了字段,更改了我的仪表板并提示保存。

文件大小保存在mb上的xlsb文件看起来加载得更快了!

谢谢你的指点和支持!

代码语言:javascript
运行
复制
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
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20561870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档