UserForm对象即使删除后仍然存在

我在用户窗体中有几个“幻像”对象,我在VBA(用于Excel)中进行devise。 它们在表单的界面生成器部分中被删除,并且在实际模块中(至less在IDE显示给我的那部分模块中)中没有剩余的对它们的引用。 但是,这些对象依然存在。 我无法重新使用它们的名称,并且它们在对象浏览器中作为表单的成员可见(请参阅EmployeeFormatFrameLabel1 ):

对象浏览器

不能重复使用名称:

不明确的名字

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

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

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

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