No lavori con i Type.
ESempio:

codice:
Public Type MY_ARRAY
     Value
     Position
End Type

Dim MyArray as New MY_ARRAY()

MyArray(0).Value
MyArray(0).Position
Cosi' hai già due proprietà per array dove definisci la prima position e la seconda, volendo, cosi' li puoi ordinare con un semplice for ...

Logica sempre prima della programmazione.