title: Adding a custom class collection to another custom class collection
body: <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>