【问题标题】:Excel/VBA - Run-time error 91 only occurs after entering and leaving the design modeExcel/VBA - 运行时错误 91 仅在进入和离开设计模式后发生
【发布时间】:2017-02-20 00:53:19
【问题描述】:

我必须修复一个包含很多我没有创建的 vba 宏的 excel 文件中的错误。另外我从来没有在 Excel 中使用过 VBA,所以我希望你能帮助我。

该文件用于在每一行中存储所有类型的信息,并且有一个按钮可以显示/弹出用户表单,我可以在其中编辑新行并将其添加到文件中。 一切正常,我打开文件,我可以按预期使用它。 但是在我进入和离开 Desing 模式后,每次我点击“新行”按钮时都会收到运行时错误 91。

当我调试它时,调试器会停在我想将用户名从变量(打开文件时存储的名称)写入文本文件的行。

Print #file, user.name

在对用户名 (Print #file, "ck") 进行硬编码后,调试器会在加载/显示用户表单的运行时错误 91 处停止。

frmAddData.Show

据我了解,出现此错误是因为在我离开编辑模式后,user.namefrmAddData 都分别为空。

是否有任何已知问题,或者有人听说过设计模式存在这样的问题,或者有人知道什么样的错误/错误或什么会导致这个奇怪的问题,以及如何在不重写整个内容的情况下修复它?

提前谢谢你, 要点

【问题讨论】:

  • 设计模式有时会导致代码被重新编译,因此任何相关变量都可能丢失/清除。
  • 感谢您的回复。有没有办法阻止这种情况,或者至少知道如何重新编译以及重新编译哪些代码?
  • 我认为没有真正的方法可以阻止它 - 如果您编辑代码,那么如果您已经根据该代码创建了对象,那将会产生一些影响。在常规模块中您可能是安全的,但如果您正在编辑类模块(表单/工作表/自定义类),您将看到您遇到问题的行为。
  • 在设计模式下不做任何事也会发生错误。我只按了两次模式按钮(进入和立即离开),它停止工作......
  • 根据msdn.microsoft.com/en-us/library/office/gg278684.aspx - 退出设计模式“清除项目中的所有模块级变量”,因此您可能会遇到这种行为

标签: vba excel runtime-error userform


【解决方案1】:

我找不到真正的解决方案,所以我删除了菜单中的设计模式按钮,因此没有人能够进入它。仅使用密码保护文件并不会禁用设计模式,因此这是我能找到的唯一快速解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多