【问题标题】:Remove a non-existant Sheet in VBA删除 VBA 中不存在的工作表
【发布时间】:2014-06-30 19:43:14
【问题描述】:

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

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

这些工作表不会引起任何问题,更令人烦恼的是,因为我知道它们实际上并不存在,而且我无法从 VBA 中删除它们。我附上了一张我正在查看的图片。我要删除的工作表是 Sheet10、Sheet11 和 Sheet9。

【问题讨论】:

  • 看来我们需要知道如何重现问题才能知道如何解决它......但可能重现问题将使用与解决问题相同的属性!

标签: vba excel


【解决方案1】:

我曾经遇到过同样的情况。我找到的唯一解决方案是将所有“真实”工作表复制到新工作簿中。我猜原来的工作簿不知何故损坏了。

【讨论】:

  • 我很害怕,我也在想这个。我希望其他人有进一步的建议。谢谢。
  • @Chris 我刚刚注意到您的问题和我的问题之间的另一个相似之处。查看错误工作表旁边的图标。它是一个工作图标,而不是工作表图标。
  • 嗨,罗恩,是的,我注意到了。我在最初的问题中提到了这一点。我也觉得这很奇怪。好吧,很高兴知道这也是发生在你身上的事情。我想唯一的解决方案是重新创建,我在发布问题之前就想到了,但希望有人可能有一个更简单或更好的解决方案。感谢您的帖子。
【解决方案2】:

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

  1. 在其他地方备份您的文件
  2. 将扩展名 .xlsm 更改为 .zip
  3. 解压压缩包
  4. 转到 /xl 文件夹
  5. 在记事本中打开 workbook.xml
  6. 在某个地方,每个“gost”表都隐藏了参数。 用任何内容替换完整的命令参数(我不记得 结构体。像'状态:“隐藏”'。删除所有这些)
  7. 压缩所有提取为 ZIP 的文件和文件夹。
  8. 将 zip 文件重命名为 .xlsm
  9. 打开看看是否解决

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      我知道这是一篇旧帖子,但我找到了解决方案。 如果您查看“幻影”表的属性,您会注意到它的“可见”属性是 2 - xlSheetVeryHiddden。只需将该属性更改为 -1 - xlsheetVisible 即可将其删除。

      【讨论】:

      • 错误项目是工作簿,而不是工作表,并且此选项不适用于工作簿...这是将来完全锁定工作表以防窥探的方便提示...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      相关资源
      最近更新 更多