Normally I'd agree that a collection of classes would be best as suggested, however that would require you to know all your properties in advance where you might not.
A collection of collections offers more flexibility, that said, I don't think you've provided enough information to go on, what do you want to do with the data? That will dictate the approach you take.
Example collection of collections:
Sub Kyle()
Dim rng As Variant: rng = Sheets(1).Cells(1, 1).CurrentRegion.Value
Dim obj As Object
Dim lRow As Long, lCol As Long
Dim Objects As Collection
Dim ObjectProps As Collection
Set Objects = New Collection
For lRow = 2 To UBound(rng)
Set ObjectProps = New Collection
For lCol = 2 To UBound(rng, 2)
ObjectProps.Add rng(lRow, lCol), rng(1, lCol)
Next lCol
Objects.Add ObjectProps, rng(lRow, 1)
Next lRow
'Loop through all objects
For Each obj In Objects
Debug.Print obj("Property 1")
Debug.Print obj("Property 2")
Debug.Print obj("Property 3")
Next obj
'Access specific object and property
Debug.Print Objects("object2")("Property 1")
Debug.Print Objects("object1")("Property 3")
End Sub
Bookmarks