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