VBA:新集合 – >一个模块不是一个有效的types

我试图使用一个集合作为函数的一部分,但是我不断收到错误:“一个模块不是一个有效的types”编译。

即使函数只是定义一个集合,我也会得到相同的结果:

Function CountUniqueTags() Dim table As Collection Set table = New Collection End Function 

这个代码是在一个标准的模块,但错误意味着我应该写在一个类模块,但集合是一个内置的类,所以我没有看到这个问题?

这也让我发疯了一阵子。 我有一个文件的代码工作正常。 复制代码,去了一个不同的文件,添加和重命名模块,粘贴在代码中,突然代码不会编译! 我看到几个无益的答案,然后才看到一个给我提供我需要的线索。

错误消息指出“ 模块不是有效types”(注意“模块”一词的重点)。 这意味着你指定的types(在你的情况下,“集合”)也是一个模块的名称。

如果您将模块“集合”重命名为其他名称,错误将会消失。