i could but as i want the sheets selected and copied together how would i produce the statement even if i knew the exact array size. this is the dynamic statement i'm after:

Sheets(New_Array(0), ..... , to New_Array(i)).Copy

without running a loop statement? (which would only copy the sheets individually anyway.

for i = 0 to New_Array.Length

Sheets(New_Array(i)).copy

Next i