Adding a custom class collection to another custom class collection
<p>Ok to start off, I read through <a href="https://stackoverflow.com/questions/5116460/vba-how-to-add-a-collection-to-a-collection-of-collections">this</a>.
It is close although it doesn't answer my specific question. This talks about taking smaller collections and adding items to a larger main collection. Then destroying the smaller collection. </p>

<p>I have two definitions under Class Modules. </p>

<p>TimeDet</p>

<pre><code>Option Explicit
Public recDate As String
Public recQty As String
Public recDieNo As String
Public recCatID As String
Public recCatName As String
Public recGroupID As String
Public recGroupName As String    
</code></pre>

<p>TimeRec</p>

<pre><code>Option Explicit
Private objTimeRec As Collection

Private Sub Class_Initialize()
    Set objTimeRec = New Collection
End Sub

Private Sub Class_Terminate()
    Set objTimeRec = Nothing
End Sub

Public Property Get NewEnum() As IUnknown
    Set NewEnum = objTimeRec.[_NewEnum]
End Property

Public Sub Add(obj As TimeDet)
    objTimeRec.Add obj
End Sub

Public Sub Remove(Index As Variant)
    objTimeRec.Remove Index
End Sub

Public Property Get Item(Index As Variant) As TimeDet
    Set Item = objTimeRec.Item(Index)
End Property

Property Get Count() As Long
    Count = objTimeRec.Count
End Property

Public Sub Clear()
    Set objTimeRec = New Collection
End Sub

Public Sub FillFromArray(Arr As Variant)
    Dim i As Long, obj As TimeDet
    For i = 1 To UBound(Arr)
        Set obj = New TimeDet
        obj.recDate = Arr(i, 1)
        obj.recQty = Arr(i, 2)
        obj.recDieNo = Arr(i, 3)
        obj.recCatID = Arr(i, 4)
        obj.recCatName = Arr(i, 5)
        obj.recGroupID = Arr(i, 6)
        obj.recGroupName = Arr(i, 7)
        Me.Add obj
    Next

End Sub    
</code></pre>

<p>Then in the code I am using it this way: </p>

<pre><code>Sub Test()
Dim RecSet1 As TimeRec, Record As TimeDet
Dim fSet1 As TimeRec, fRecord As TimeDet
Dim repArray() As Variant
Dim startDT As Date, endDT As Date, dieNo As String

repArray() = Sheet4.Range("A2:G" &amp; Sheet4.Range("A2").End(xlDown).Row)

Set RecSet1 = New TimeRec
Set fSet1 = New TimeRec

RecSet1.FillFromArray (repArray())

startDT = "1-1-2015"
endDT = "1-1-2016"
dieNo = "16185"

For Each Record In RecSet1
    If Record.recDate &lt;= endDT And Record.recDate &gt;= startDT And Record.recDieNo = dieNo Then
        fSet1.Add (Record)
    End If
Next
End Sub
</code></pre>

<p>I am getting an error when I try to add the Record object to the fSet1 object.
"Object doesn't support this method or property"</p>

<p>The Record object is Type TimeDet which as you can see up in the class module my Add method is expecting type TimeDet. </p>

<p>Either I am  missing something very simple and have blinders on, or this is a bigger issue. </p>

<p>The array has 200,000 records roughly. I am attempting to create a smaller subset of filtered data. Maybe I am approaching this from the wrong way.</p>