|
▼ひまこ さん:
了解です。
>初めの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
|
|