使用带有NewEnum()而不是Collection类的Range对象(即使用For Each)

时间:2011-09-11 02:44:07

标签: excel vba excel-vba

我正在构建一个自定义集合类Record。

我目前通过以下方式启用了我的课程的枚举:

private pRecord as Collection

'
' Enables enumeration of the pRecords Collection (ie using For Each).
'
Public Property Get NewEnum() As IUnknown
    Attribute NewEnum.VB_UserMemId = -4
    Attribute NewEnum.VB_MemberFlags = "40"

    Set NewEnum = pRecord.[_NewEnum]
End Property

目前,pRecord是一个Collection,其中包含一些Range对象的行中的单个单元格,例如Range(“A1:C6”)。行(1)。

是否可以将实际的行Range设置为枚举的对象而不是pRecords集合?如果是这样,你怎么做?

我认为这一定是可能的,因为你已经可以在范围对象上使用For Each。

1 个答案:

答案 0 :(得分:2)

您是否尝试过将Range对象替换为您的集合?