如何删除多个空白“Microsoft Excel对象”

时间:2012-04-04 17:41:39

标签: excel-vba excel-2003 vba excel

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

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

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

VBA Explorer

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

有很多方法可以达到你想要的效果。最快的方法是右键单击Sheet1并单击“移动或复制”~~> “新书”~~> “OK”

现在您可以保存新工作簿并删除旧工作簿:)

<强>后续

  
    
      

不幸的是,这不起作用 - 我们在其他工作表中有一些非常冗长的公式,这个问题确实存在,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

enter image description here