| 
    
     |  | 列が増える毎にカウンタ変数が増えるのはどうかなと思って ちょっと作ってみた。
 こんなことする必要は無いだろうけど。
 
 ――――――――――――――――――――――――――――――
 Dim i As Long
 Dim wsOrigin As Worksheet
 Dim wsTarget As Worksheet
 Dim rng As Range
 
 Set wsOrigin = ActiveWorkbook.Worksheets("シートA")
 Set wsTarget = ActiveWorkbook.Worksheets("シートB")
 
 With wsOrigin
 For Each rng In .Range( _
 .Cells(4, 1), _
 .Cells(10, .Range("A4").End(xlToRight).Column) _
 )
 Select Case True
 '(元)A列 → (先)C列
 Case rng.Address Like "$A*"
 rng.Copy wsTarget.Range("C" & i + 8)
 i = i + 8
 
 '(元)B列 → (先)C列
 Case rng.Address Like "$B*"
 rng.Copy wsTarget.Range("C" & i + 3)
 
 '(元)C列 → (先)D列
 Case rng.Address Like "$C*"
 rng.Copy wsTarget.Range("D" & i + 3)
 
 '上記以外
 Case Else
 '何もしない
 End Select
 Next
 End With
 ――――――――――――――――――――――――――――――
 
 
 |  |