【发布时间】:2017-02-20 00:53:19
【问题描述】:
我必须修复一个包含很多我没有创建的 vba 宏的 excel 文件中的错误。另外我从来没有在 Excel 中使用过 VBA,所以我希望你能帮助我。
该文件用于在每一行中存储所有类型的信息,并且有一个按钮可以显示/弹出用户表单,我可以在其中编辑新行并将其添加到文件中。 一切正常,我打开文件,我可以按预期使用它。 但是在我进入和离开 Desing 模式后,每次我点击“新行”按钮时都会收到运行时错误 91。
当我调试它时,调试器会停在我想将用户名从变量(打开文件时存储的名称)写入文本文件的行。
Print #file, user.name
在对用户名 (Print #file, "ck") 进行硬编码后,调试器会在加载/显示用户表单的运行时错误 91 处停止。
frmAddData.Show
据我了解,出现此错误是因为在我离开编辑模式后,user.name 和 frmAddData 都分别为空。
是否有任何已知问题,或者有人听说过设计模式存在这样的问题,或者有人知道什么样的错误/错误或什么会导致这个奇怪的问题,以及如何在不重写整个内容的情况下修复它?
提前谢谢你, 要点
【问题讨论】:
-
设计模式有时会导致代码被重新编译,因此任何相关变量都可能丢失/清除。
-
感谢您的回复。有没有办法阻止这种情况,或者至少知道如何重新编译以及重新编译哪些代码?
-
我认为没有真正的方法可以阻止它 - 如果您编辑代码,那么如果您已经根据该代码创建了对象,那将会产生一些影响。在常规模块中您可能是安全的,但如果您正在编辑类模块(表单/工作表/自定义类),您将看到您遇到问题的行为。
-
在设计模式下不做任何事也会发生错误。我只按了两次模式按钮(进入和立即离开),它停止工作......
-
根据msdn.microsoft.com/en-us/library/office/gg278684.aspx - 退出设计模式“清除项目中的所有模块级变量”,因此您可能会遇到这种行为
标签: vba excel runtime-error userform