gpt4 book ai didi

vba - Excel VBA 项目已生成多个 Workbook 对象

转载 作者:行者123 更新时间:2023-12-01 23:27:58 27 4
gpt4 key购买 nike

我负责一个非常大的 Excel 2010 电子表格,其中包含指向各种外部数据源(包括 Bloomberg)的链接、带有 vba 模块的 65 个工作表以及对其他 vba 加载项的引用。

我注意到VBA项目已经获取了多个Workbook对象。

这是标准的 ThisWorkbook。但是,许多工作表也已被 Excel 转换为 Workbook 对象,使原始工作表保留为前一个工作表的副本,减去代码。

这似乎不是任何人行为的结果。事实上,我认为不可能有多个 Workbook 对象!

例如,我有一个名为 wksInputs 的工作表,它现在已转换为 Workbook 对象,而原始的 wksInputs 现在称为 wksInputs1。

example

我无法删除 wksInputs Workbook 对象。

请有人帮忙解释一下这里发生了什么,以及我如何解决这个问题......?

非常感谢。

最佳答案

这是我的解决方案,它始终如一地工作,您不需要手动将工作表和代码复制到空白工作簿。我已经在几个损坏的工作簿上测试了此方法,这些工作簿在启动时出现“自动化错误 - 灾难性故障”错误。

注意:原始损坏的文件保存为.xlsm

  1. 打开空白 Excel 工作簿
  2. “开发者”选项卡 > 宏安全 > 禁用所有宏而不通知
  3. 关闭 Excel
  4. 双击损坏的文件,例如 MyFile.xlsm
  5. 文件 > 另存为...> MyFile.xlsb(不是 .xlsm),选择 .xlsb 格式就是诀窍
  6. “开发者”选项卡 > 宏安全性 > 启用所有宏(或您喜欢的任何安全级别)
  7. 关闭 Excel
  8. 双击 MyFile.xlsb

文件现已修复!如果需要,您可以将 MyFile.xlsb 文件重新保存为 .xlsm。根据我的经验,.xlsm 文件很容易损坏,因此我将养成始终使用 .xlsb 格式的习惯。

希望有人觉得这有帮助:)

关于vba - Excel VBA 项目已生成多个 Workbook 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18273071/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com