I don't think there is any array slicing available in VBA, so For loops seem to
be the way to go.
However, I can't think why you'd be moving a million array items around inside
Excel VBA. If you have this amount of data, it really sounds as though you
should be looking at using a fully-compiled language, or redesigning your
application so that you don't need to move the data around.
What is your application doing?