| 
    
     |  | ▼ひまこ さん: 
 
 了解です。
 
 >初めの13段10列の表と同じものが
 >12回目に最終的に出来上がります。
 >コピーの1回目は元表からE3:J13を消した表
 >コピーの2回目は元表からE4:J13を消した表
 >以下続く、、という感じです。
 >(最初の質問はこの形でした)
 >
 >
 >もっと良い方法がある場合も含めて
 >考え方をアドバイス頂けると助かります。
 
 この考え方がシンプルでよろしいかと思います。
 以下、コード案です。
 
 Sub Sample()
 Dim i As Long
 Dim x As Long
 Dim n As Long
 Dim myR As Range
 
 '処理中の画面の動きを隠す
 Application.ScreenUpdating = False
 
 Set myR = Range("A1:J13") 'コピー領域
 '処理前に転記領域をクリア
 Range("A1", ActiveSheet.UsedRange).Offset(43).ClearContents
 
 For x = 1 To 12 '処理回数
 i = x * 43 + 1 '転記行番号
 myR.Copy Cells(i, "A")   'コピペ
 n = x + 1        'J列までの値がコピーされるべき行数
 If 13 - n > 0 Then
 'D列までの値でいい領域につぃて、E〜J列の値をクリア
 Cells(i, "A").Offset(n, 4).Resize(13 - n, 6).ClearContents
 End If
 Next
 
 Application.ScreenUpdating = True
 MsgBox "転記終了です"
 
 End Sub
 
 |  |