|
初心者 さん、こんにちわ。
>○sheet1からsheet2へ1行ずつコピーしていく。
>sheet1のa4:c4をコピーし、sheet2のF4からH4へペースト。
>sheet2のD4をコピーし、sheet2のM4へペースト。
>●sheet1のデータ
> A B C D E F
>4 a b c 文字1
>5 d e f 文字2
>6 g h i 文字3
>7 j k l 文字4
>●sheet2のデータ
> F G H ・・・ M
>4 a b c 文字1
>5 d e f 文字2
>6 g h i 文字3
>7 j k l 文字4
エラーの原因は、Resize(範囲の変更)で行数を0にしているからです。
Range("A4").Offset(a1 - 4).Resize(0, a5).Select
望みのコピーを実行するには
>○sheet1からsheet2へ1行ずつコピーしていく。
>sheet1のa4:c4をコピーし、sheet2のF4からH4へペースト。
>sheet2のD4をコピーし、sheet2のM4へペースト。
Sub test1()
'そのまんま
With Application.ActiveWorkbook
.Worksheets("Sheet1").Range("A4:C4").Copy Destination:= _
.Worksheets("Sheet2").Range("F4")
.Worksheets("Sheet1").Range("D4").Copy Destination:= _
.Worksheets("Sheet2").Range("M4")
End With
End Sub
Sub test2()
'行番号に変数を使うなら
Dim RR As Long
RR = 1
With Application.ActiveWorkbook
.Worksheets("Sheet1").Range("A" & RR & ":C" & RR).Copy Destination:= _
.Worksheets("Sheet2").Range("F" & RR)
.Worksheets("Sheet1").Range("D" & RR).Copy Destination:= _
.Worksheets("Sheet2").Range("M" & RR)
End With
End Sub
こんな感じです。
|
|