1

我有一个电子表格,其中一张名为“Sheet1”。我已取消隐藏所有其他工作表并将其删除。当我打开 VBA 编辑器时,在“Microsoft Excel 对象”下,我列出了近 4000 个工作表,我无法通过右键单击将它们删除。

我相信当“Sheet1”中没有数据时,这会导致文件的大小太大(~6 MB)。我试过使用“goto>special>objects”方法,但没有找到任何对象。

关于如何清除所有这些空对象的任何想法?

VBA 资源管理器

4

2 回答 2

2

我想我找到了一个解决方案,至少它对我有用,而且我对 VBA 不是很了解。添加属性窗口(在视图下),选择每个工作表,并将可见选项更改为 -1 - xlsheetvisible,它将使其出现在 excel 中,然后您可以删除选项卡。

于 2012-08-29T13:30:03.460 回答
1

有很多方法可以实现您想要的。最快的方法是右键单击 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

在此处输入图像描述

于 2012-04-04T18:12:39.450 回答