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]