1
我正在構建一個自定義集合類Record。使用NewEnum()而不是Collection類的Range對象(即For Each)
我目前使我的類的枚舉:
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是包含單個細胞的集合,是在一定範圍內對象的行,如範圍(「A1:C6」) .Rows(1)。
是否可以將實際行Range設置爲枚舉對象而不是pRecords集合?如果是這樣,你怎麼做?
我認爲這一定是可能的,因爲你已經可以使用範圍對象上的For Each了。
難道你不在枚舉單元格嗎?你是從這個http://www.dailydoseofexcel.com/archives/2010/07/04/custom-collection-class/(或類似的東西)工作嗎? –
@蒂姆威廉姆斯,是的,該網站非常好地解釋了自定義集合。我期待提高我的代碼的效率。由於Range已經是一個集合,我應該可以使用它來代替pRecord。但我不能看到範圍類中的任何_NewEnum屬性。 – br3nt
另一種方法是我創建一個返回行的方法(即Property Get Row()as Range)並使用For Each。這將工作正常,但這仍然讓我想知道如何在NewEnum屬性中使用Range而不是Collection。 – br3nt