Excel 在 VBA 项目资源管理器中创建不存在的工作表

Excel 在 VBA 项目资源管理器中创建不存在的工作表

Excel 2010 Professional Plus(32 位)似乎创建了一组新的工作表,并重命名了 VBA 屏幕中的所有原始工作表,例如 Sheet10 变为 Sheet101,Sheet13 变为 Sheet131。这导致 UDF 停止运行。“新”的“sheet10”和“sheet13”似乎不存在于 VBA 项目窗口以外的任何地方。“新”工作表旁边有一个蓝色图标。

UDF 确实有效。直到创建这些新工作表并重命名旧工作表。Excel 文件中只有 12 个工作表和一个工作簿。VBAproject 显示 2 个工作簿和 20 个工作表。

1) 是什么原因造成的?
2) 如何修复?
3) 如何预防?

左侧的蓝色图标实际上并不存在 在此处输入图片描述

在此处输入图片描述

添加显示“sheet3”不存在的属性和真实工作表“sheet31”的属性的图像。所有不存在的工作表和工作簿都有一长串属性。

Sheet3-不存在 Sheet31-存在

XLS 文件在此处 您必须下载它,因为它会在谷歌的查看器中打开。

更新:2016 年 1 月 6 日 所以截至今天,当我打开此 XLS 时,其中的公式全都是错误 (#VALUE)。Excel 并未创建我上次更新中看到的不存在的工作表。上周 XLS 和公式正常工作,我没有做任何更改。这是我按照以下帖子中的建议将所有工作表复制到的新工作簿。原始工作簿(图片中显示的带有不存在工作表的工作簿)没有 #VALUE 错误。两个工作簿都在同一台计算机上,并且在过去一个月内一起更新,以便进行比较。

UPDATE3,2016 年 1 月 6 日,我刚刚不小心移动了一个文本单元格,然后点击了“撤消”,所有 #VALUE 错误都消失了,现在我得到了所有正确的计算结果。真是的。

答案1

问题的关键是消息框“自动化错误。灾难性故障”

目前尚无针对此问题的单一诊断方法,但是它可能......

  • 情况1

如果工作簿尝试运行包含未包含在 VBA 编辑器的引用部分中的对象的宏,则可能会发生此类错误。

例如,如果它要求在 PC 上正确注册特定的 DLL。如果这些 DLL 在您的 PC 上,则工作簿没有问题,但在另一台没有 DLL 的 PC 上,就会发生这种情况。

任何项目都将默认包含以下内容:

Visual Basic For Applications
Microsoft Excel x.0 Object Library
OLE Automation
Microsoft Office x.0 Object Library
and possibly if a form has ever been added -
Microsoft Forms 2.0 Object Library

xExcel 版本在哪里?

在此电脑上运行宏之前,您是否在另一台电脑上打开并修改了该宏?

如果是这样,那么引用已经更新为其他系统的版本,并且在您的系统中找不到它们。

  • 案例 2

您的某个 UDF 导致了该问题。重现该问题并检查以黄色突出显示的函数。

根据您发布的图片,问题出在Sumbytext(rg as Range,ltr as String)as Double。您必须:

  • 逐步跟踪 UDF 逻辑以查找可能失败的位置。
  • 在命名范围内“List_HolAbbr”始终是值吗?哪个?
  • UDF 接收变量的范围rg。是否始终是有效范围?
  • 既然它们使用整数值,为什么SumbytestMidResult被定义为 Double?

答案2

我的解决方案与@Scoox 发布的 .xlsb 解决方案类似(谢谢!),但必须对其进行修改,因为我无法更改工作电脑上的宏设置:

  1. 复制文本文件中的所有宏
  2. 将损坏的文件另存为 .xlsx 并关闭
  3. 重新打开文件,另存为 .xlsb 并关闭
  4. 将所有宏粘贴到 .xlsb 文件中

虽然不理想但对我来说有用!

答案3

SuMau 的解决方案对我来说很有用,尽管我必须添加一个额外的步骤:如果您的 VBAProject 使用任何非默认引用,您也需要恢复这些引用。

为了更容易找到它们,请将原始工作簿与已转换为 xlsx 文件的工作簿一起打开。这样,当您从 VBA 菜单中选择“工具 -> 引用”时,您要添加的所有引用都将列在列表顶部已选中的引用的正下方。

当打开两个文件时,您还可以将任何代码模块从旧文件拖到要修补的文件中。这样您就可以轻松移植不在工作表或工作簿对象上的所有 VBA 代码。

答案4

我遇到了同样的问题,但可以解决。使用信息部分中的问题检查器。这将帮助您删除不可见的对象。

在此处输入图片描述

相关内容