Sí que funciona, solo que no has planteado correctamente el problema. El primer elemento de un array, por defecto siempre es cero, y no uno.
Prueba a cambiar esto:
Código:
For j = 1 To UBound(myarray)
Por esto otro:
Código:
For j = 0 To UBound(myarray)
Y luego, llama al valor correspondiente que haya en el elemento X del array (no llames al elemento sino al dato que hay en ese elemento, ...en el caso que te preocupa, con el último elemento, al poner "j", estás llamando al elemento que ocupa la posición 6, cuando en realidad debes llamar al valor que hay en esa posición, es decir, al 7). Para eso, cambia esto:
Por esto otro:
Código:
Cells(2, myarray(j)).FormulaR1C1
Salu2