My 1.5 cents ...

I usually do something like this for Collections or Dictionaries, but it works for array also

Option Explicit
Type Product
    Code As String
    Description As String
    Cost As Currency
    Qty As Integer
    Retail As Currency
End Type
 
 
Sub Test()
    Dim T As Product
    Dim Arr(1 To 10) As Product
    Dim Rng As Range
        
    Dim i As Long
    
    Set Rng = ActiveSheet.Range("A1:E10")
    
    For i = 1 To 10
        With T
            .Code = Rng.Cells(i, 1).Value
            .Description = Rng.Cells(i, 2).Value
            .Cost = Rng.Cells(i, 3).Value
            .Qty = Rng.Cells(i, 4).Value
            .Retail = Rng.Cells(i, 5).Value
        End With
        
        Arr(i) = T
    Next I

    MsgBox Arr(2).Code
    
    MsgBox Arr(4).Description
    
End Sub