Howdy ya'll,
Apologies if I am misunderstanding, but it looked to me as you are wanting to transpose ea row in the (hang on, I ran out of fingers...) 12 columns, along w/putting some empty rows between ea block in destination.
If so, in a junk copy of your wb, try:
Sub exa()
Dim wks As Worksheet
Dim lRowToCopy As Long, lRowToPaste As Long
lRowToPaste = 5
'// Change to suit, like: Set wks = ThisWorkbook.Worksheets("Sheet1") //
Set wks = ActiveSheet
Application.ScreenUpdating = False
With wks
For lRowToCopy = 1 To 1000
.Range(.Cells(lRowToCopy, "D"), .Cells(lRowToCopy, "O")).Copy
.Cells(lRowToPaste, "B").PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=True
lRowToPaste = lRowToPaste + 22
Next
.Range("D1:O1000").ClearContents
End With
Application.ScreenUpdating = True
End Sub
Hope that helps,
Mark