Excel 损坏的图纸对象

Excel 损坏的图纸对象,excel,vba,corruption,Excel,Vba,Corruption,我注意到Excel VBA有一个奇怪的行为。项目资源管理器会显示一些无法删除且不属于有效工作表的孤立图纸对象(例如“Sheet16”)。查看这些孤立项,我可以看到它们包含来自原始工作表的回调函数(例如“ShowCI”)。Excel正在创建一个与工作表相关的新工作表对象(例如“Sheet161(ShowCI)”),但它没有仍在孤立对象中的回调函数。 我在网上看到了一些建议,建议将内容导出到新工作簿中以克服这个问题,但这很烦人(尤其是在使用大量复杂VBA和用户表单的文件上进行的操作),并且不能真正防

我注意到Excel VBA有一个奇怪的行为。项目资源管理器会显示一些无法删除且不属于有效工作表的孤立图纸对象(例如“Sheet16”)。查看这些孤立项,我可以看到它们包含来自原始工作表的回调函数(例如“ShowCI”)。Excel正在创建一个与工作表相关的新工作表对象(例如“Sheet161(ShowCI)”),但它没有仍在孤立对象中的回调函数。 我在网上看到了一些建议,建议将内容导出到新工作簿中以克服这个问题,但这很烦人(尤其是在使用大量复杂VBA和用户表单的文件上进行的操作),并且不能真正防止再次发生这种情况。 我对避免这种情况很感兴趣,并想知道这些腐败会从何而来。 那么,是什么导致了这些问题呢

谢谢你的建议;-)


关于已知
xlsm
xlsx
文件格式容易损坏,特别是如果您有大量数据(我在过去几年中也遇到了一些问题)。将文件保存为二进制
xlsb
格式,而不是xlm格式。众所周知,二进制格式更稳定,生成的文件更小。请注意,一旦文件损坏,Excel将尝试修复它,但我发现在大多数情况下,该文件将保持损坏状态,Excel无法修复它。正确修复文件的唯一方法是启动一个新文件并从头开始重建。