|
▼[名前なし] さん:
エラーそのものは、たとえばシート上で複数セル領域をいくつか選択して
Ctrl/c とやると、エクセルから叱られますね。
これは仕様です。
それより、むりやり1つのロジックにまとめる必要はさらされないのでは?
たかだか3つのブロックのコピペですから。
ただ、コードの記述を少しすっきりさせたほうがいいですね。
以下は、貼り付け行数、領域によっては、下のほうの空白行部分もコピペされる
『手抜き』ですが
空白のところが空白になるだけなので。
それより現行のコード、
Range("A2:K2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.copy
たとえば A列以外でA列の行数より大きな行までデータがある部分があれば
その部分は貼り付け対象から漏れるということはお気づきですか?
Sub Sample()
Dim mx As Long
With Sheets("Sheet2")
mx = .UsedRange.Cells(.UsedRange.Cells.Count).Row
.Range("A2:K2").Resize(mx - 1).Copy Sheets("Sheet1").Range("B2")
.Range("O2:W2").Resize(mx - 1).Copy Sheets("Sheet1").Range("M2")
.Range("L2:N2").Resize(mx - 1).Copy Sheets("Sheet1").Range("V2")
End With
End Sub
|
|