在VBA中删除不存在的工作表

时间:2014-06-30 19:43:14

标签: excel vba excel-vba

我在Excel工作簿中列出了实际不存在的工作表。当您查看代码并查看VBA部分中的工作表列表时,会列出工作表,但它们根本不存在于工作簿中。它们也不会被隐藏,以防有人想到这一点。

这些表格在括号中也没有后面的名称,看起来像ThisWorkbook一样的图标。我无法删除它们并且一直在尝试。有没有人对如何从VBA部分删除它们有任何建议?请记住,这些表格实际上并不存在,因此我不能在Excel中右键单击它们并选择删除。我确实尝试右键单击VBA中的工作表并选择“删除工作表”,但该选项显示为灰色。实际上,删除工作表在所有工作表上都是灰色的,即使是那些确实存在的工作表。电子表格也不受任何保护。

这些表格不会造成任何问题,更令人烦恼,因为我知道他们身体并不存在,我无法将其从VBA中删除。我附上了一张我正在寻找的图片在。我要删除的工作表是Sheet10,Sheet11和Sheet9。

enter image description here

4 个答案:

答案 0 :(得分:2)

我曾经遇到过同样的情况。我找到的唯一解决方案是将所有“真实”工作表复制到新工作簿中。我猜测原始工作簿以某种方式被破坏了。

答案 1 :(得分:0)

我知道这是一个老帖子,但我找到了解决方案。 如果你看一下'Phantom'表的属性,你会发现它的'visible'属性是2 - xlSheetVeryHiddden。只需将该属性更改为-1 - xlsheetVisible,您就可以将其删除。

答案 2 :(得分:0)

我在接下来的步骤中解决了这样的问题:

  1. 在其他地方备份您的文件
  2. 将扩展名.xlsm更改为.zip
  3. 解压缩zip文件
  4. 转到/ xl文件夹
  5. 在记事本中打开workbook.xml
  6. 在某些地方,每个人都有#g;"隐藏参数的工作表。 什么都不替换完整的命令参数(我不记得了 结构体。类似于'状态:"隐藏"'。删除所有这些)
  7. 压缩以ZIP格式提取的所有文件和文件夹。
  8. 将zip文件重命名为.xlsm
  9. 打开并查看是否已解决

答案 3 :(得分:0)

有一种更简单的方法。 右键单击当前选项卡之一,然后选择“取消隐藏”。 这将显示所有“隐藏”标签的列表。 取消隐藏它们,然后将其删除。 删除后,它们将从VBAProject列表中删除。