我有一个电子表格,其中一张名为“Sheet1”。我已取消隐藏所有其他工作表并将其删除。当我打开 VBA 编辑器时,在“Microsoft Excel 对象”下,我列出了近 4000 个工作表,我无法通过右键单击将它们删除。
我相信当“Sheet1”中没有数据时,这会导致文件的大小太大(~6 MB)。我试过使用“goto>special>objects”方法,但没有找到任何对象。
关于如何清除所有这些空对象的任何想法?
我有一个电子表格,其中一张名为“Sheet1”。我已取消隐藏所有其他工作表并将其删除。当我打开 VBA 编辑器时,在“Microsoft Excel 对象”下,我列出了近 4000 个工作表,我无法通过右键单击将它们删除。
我相信当“Sheet1”中没有数据时,这会导致文件的大小太大(~6 MB)。我试过使用“goto>special>objects”方法,但没有找到任何对象。
关于如何清除所有这些空对象的任何想法?
我想我找到了一个解决方案,至少它对我有用,而且我对 VBA 不是很了解。添加属性窗口(在视图下),选择每个工作表,并将可见选项更改为 -1 - xlsheetvisible,它将使其出现在 excel 中,然后您可以删除选项卡。
有很多方法可以实现您想要的。最快的方法是右键单击 Sheet1 并单击“移动或复制”~~>“新书”~~>“确定”
现在您可以保存新工作簿并删除旧工作簿:)
跟进
不幸的是,这不起作用 - 我们在其他工作表中有一些非常冗长的公式存在这个确切的问题,Excel 只会复制它们的前 255 个字符。此外,不会复制原始工作表中的 VBA 代码,这涉及重建受此问题影响的每个电子表格的额外步骤。
在这种情况下,试试这个代码
Option Explicit
Sub Sample()
Dim ws As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "Sheet1" Then ws.Delete
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub