在VBA中设置类时编译错误

时间:2013-09-29 20:06:19

标签: class excel-vba compiler-errors vba excel

我从here复制了代码,但在尝试运行代码时遇到错误。

问题出在:

Public NextItem As New queueItem

,错误信息为:

user-defined type not defined

我的VBA版本不是这样做的,还是我做错了什么?

1 个答案:

答案 0 :(得分:3)

你可能意味着this link?您提供的那个具有替代实现(使用数组,而不是引用)。

我让它为我工作。步骤进行:

  • 右键单击VBA项目文件名,然后转到Insert-> Class Module

enter image description here

  • 点击F4。出现Properties窗口。然后转到课程Name并将其更改为Queue

enter image description here

  • 复制并粘贴您在网站上找到的Queue Class代码。对QueueItem类重复上一步和此步骤(即插入Class Module,将其命名为QueueItem并复制该类模块中的代码。

  • 这一次,使用相同的流程插入Module(不是Class Module,而是简单的Module)。您无需为模块命名,Module1即可。

  • 复制模块内的Sub TestQueue()并运行它。它应该工作。如果在模块上使用Option Explicit,则会收到element未定义的错误。所以我们需要在子例程的前几个Dim element as Variant语句下定义它:Dim。然后它应该运行。

上述内容对我有用,请告诉我是否可以更精确,或将文件发送给您。