|
おはようございます。
以下のコードだとコピー元のセル範囲が広範囲の場合
(例えば、コピー元が"$A$1:$Q$16,$S$13:$CR$29,$G$18:$M$25,$A$19:$C$27"、
コピー先 "C40" )
エリアでループさせる分だけループ回数が少なくなって、処理速度が
速いですね!!
コピー元のセル範囲が小さい場合は、どっちでもよいのですが・・。
Sub main3()
Dim r As Long
Dim c As Long
Dim crng As Range
Dim orng As Range
Set orng = Range("c40")
With Range("$A$1:$Q$16,$S$13:$CR$29,$G$18:$M$25,$A$19:$C$27")
r = .Cells(1).Row
c = .Cells(1).Column
For Each crng In .Areas
orng.Offset(crng.Row - r, crng.Column - c). _
Resize(crng.Rows.Count, crng.Columns.Count).Value = crng.Value
Next
End With
End Sub
|
|