Not much helpful help yet.

Here is the complete text of a module using your UDT which successfully populated the properties of the first Products member. I suspect you didn't redim the Products array.

[vba]Option Explicit

Type DataX
PriceX As Integer
ColorX() As Variant
SizeX() As Variant
End Type

Sub TestUDT()
Dim Products() As DataX

ReDim Products(0 To 1)

Products(0).PriceX = 25
Products(0).ColorX = Array("red", "blue")
Products(0).SizeX = Array("L", "XL", "XXL")

End Sub
[/vba]