2016-03-23 54 views
0

我有一个包含自定义类模块的Excel VBA项目。我更改了代码以删除对此类的所有引用,然后在导出它之后删除了类模块。然后程序有删除类模块后未定义excel vba用户类型

用户类型没有定义

我重新导入自定义类和一般编译程序编译错误。我删除了自定义类模块中的所有代码和注释,将其留作空白模块,并且程序仍编译成OK。再次,删除自定义类后,我得到“用户类型未定义”错误。 在上述任何步骤中均未突出显示违规代码行。 任何想法?

+2

似乎它正在您的代码中的某处引用。 –

+1

某处您将该变量声明为该类。在项目中搜索类名称。 – Rory

+0

你是否需要声明所有变量?在常规模块的开头是否有'Option Explicit'?如果是这样,它可能有助于发现问题,但即使没有这一点,它也应该突出显示。 –

回答

0

问题是使用Excel 2016遇到的。 问题是通过在Excel 2007中打开文件解决的,幸运的是我在安装Office 365之前保留了该文件。在Excel 2007中,我能够删除现在为空的类模块,编译并保存。在Excel 2016中重新打开时,该项目再次编译得很好。 我使用Excel 2007和2016重复了另一个备份副本上的过程,并且问题一直出现在Excel 2016中,但与Excel 2007不一致。 感谢其他人的评论。

相关问题