2015-06-02 63 views
1

我在用户窗体中设计了几个“幻像”对象,我在VBA(用于Excel)中进行设计。它们在表单的界面构建器部分中被删除,并且在实际模块中(至少在IDE显示给我的模块部分中)中没有剩余的对它们的引用。但是,这些对象仍然存在。我不能重新使用他们的名字,他们是可见的对象浏览器形式的成员(见EmployeeFormatFrameLabel1):即使在删除后UserForm对象仍然存在

Object Browser

不能重复使用名称:

Ambiguous Name

我真的可以用一些帮助来解决这个问题。我在研究这个问题时唯一能找到的是this,但它指的是Access数据库,因此没有多大帮助。这是我在Borland的C++ Builder中工作时经常遇到的一个非常类似的问题,它总是通过删除代码中对象的剩余引用来解决。然而,我在这里找不到任何东西(或者IDE不会向我展示它们)。

+0

尝试导出表单副本(文件>导出文件),然后将其导入到一个新的空白工作簿中,以查看旧名称是否消失 – barrowc

回答

1

VBA是一种解释型语言。在VBE中,您按下输入您的代码语句时将转换为P代码并保存在应用程序(例如Excel)中。

所以,如果你被幻影对象卡住,最好和最有效的方法是创建一个新的工作簿,并将所有的代码和对象传递给它。究竟是什么barrowc在上面的评论中建议。

不要浪费时间寻找解决方案来修复现有的工作簿。除非您可以编写P代码清理程序,否则创建新的工作簿是最快的解决方法。

+0

我刚试过这个,不幸的是它没有工作。同样的问题。我甚至尝试过拖拽并只选择可见对象,将它们复制,粘贴成全新的工作手册中的全新形式,而且我仍然遇到同样的问题。在这一点上,我诚实地考虑放弃和与无用物体一起生活。不过,如果我这样做,它将永远生活在我的皮肤下。 –

相关问题