As a start, try running this code on your sheet. It doesn't change that sheet, it creates a new sheet and puts data there. It's a bit slow.
Is this doing the right thing?
Code:
Sub blah()
Set mySht = ActiveSheet
Set NewSht = Sheets.Add(after:=Sheets(Sheets.Count))
Set Destn = NewSht.Range("A1")
For Each rw In mySht.Range("A1").CurrentRegion.Rows
For i = 0 To 8 Step 4
rw.Offset(, i).Resize(, 4).Copy Destn
Set Destn = Destn.Offset(1)
Next i
Next rw
End Sub
It would be better if you were to supply a sheet/workbook with data in.