|    | 
     おはようございます。 
 
以下のコードだとコピー元のセル範囲が広範囲の場合 
(例えば、コピー元が"$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 
 
 | 
     
    
   |