Isso resolverá seu problema imediato, você precisa adicionar esta linha antes do seu loop:
ReDim MyArray(0 To 0)
Quando você Dim MyArray() está criando uma matriz sem índices, não é possível atribuir nenhum valor a ela sem usar ReDim primeiro.
Você também precisa alterar o ReDim em seu loop para ReDim Preserve . Se você usar apenas ReDim , ele destruirá o conteúdo de sua matriz toda vez.