I currently have data that looks like the following

A1 B1 C1 D1 E1 F1 G1 H1 I1
nn nn nn oo oo oo pp pp pp
{there are a few more rows in each block but you get the idea - move a 3xN block under the first 3xN block in columns A, B and C ending up with 3 columns of data for many rows}

and would like to rearrange it like the following

A1 B1 C1
nn nn nn
D1 E1 F1
oo oo oo
G1 H1 I1
pp pp pp

Any ideas on a macro or VB that will do the trick (I have over 400 blocks that need to be re-arranged so cutting and pasting is not really an option)?