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.