Hola! seba.
Incorpora la siguiente macro:
Código vb:
Ver originalSub Re_Ordenar()
Dim ii As Long, jj As Integer
'Define el número de filas por columna
Const FpC As Integer = 6
Application.ScreenUpdating = False
[b:g].Delete Shift:=xlToLeft
ActiveSheet.ResetAllPageBreaks
'Copia la hoja activa y trabaja sobre esta copia
ActiveSheet.Copy After:=Sheets(1)
For ii = 1 To [a1].End(xlDown).Row Step 4 * FpC
For jj = 1 To 7 Step 2
Cells(ii + FpC * (jj - 1) / 2, 1).Resize(FpC, 1).Cut Cells((ii + 3) / 4, jj)
Next jj
Next ii
For ii = FpC To [a65536].End(xlUp).Row - 1 Step FpC
ActiveSheet.HPageBreaks.Add Before:=Cells(ii + 1, 1)
Next ii
Rows([a65536].End(xlUp).Offset(1).Row & ":65536").Delete Shift:=xlUp
Application.ScreenUpdating = True
End Sub
Tres cosas importantes:
a) Estoy suponiendo que tus datos están en la columna "A" comenzando desde la celda [A1].
b) La línea:
Const FpC As Integer = 6
define "6" filas por columna al igual que has mostrado en tu ejemplo.
Si quieres modificar este dato a otra cantidad, simplemente cambias ese número.
c) A los efectos de reiterar el procedimiento tantas veces como lo requieras, hago una copia de la hoja en cuestión y trabajo sobre ella.
Saludos, Cacho. ![Afirmando](http://static.forosdelweb.com/fdwtheme/images/smilies/afirmar.gif)