| 
    
     |  | こんにちは。かみちゃん です。 
 >それで、これのちょっと違った形なのですが、
 
 もしかして、初めから、そういう要件ではなかったのでしょうか?
 もし、そうであれば、今後ご質問される場合は、最初からできるだけ要件を出していただいたほうがよろしいかと思います。
 
 さて、すでに、ponponさんからコメントも出ていますが、OffsetとResizeを使わず
 (Offsetは一箇所だけ使っていますが)値をCopyする方法ほ紹介しておきますので
 参考にしてください。
 
 Option Explicit
 Sub test2()
 Dim myRng As Range
 Dim myRng2 As Range
 Dim r As Range
 
 With Worksheets("Sheet1")
 'A2からA列の最下端のセルまでの範囲を処理する範囲とする。
 Set myRng = .Range(.Range("A1"), .Cells(.Columns("A").Rows.Count, .Columns("A").Column).End(xlUp))
 For Each r In myRng
 'M列とN列のデータを比較し、異なる値の場合のみ処理をする。
 If Cells(r.Row, .Columns("M").Column).Value <> Cells(r.Row, .Columns("N").Column).Value Then
 Set myRng2 = Worksheets("Sheet2").Range("A65536").End(xlUp).Offset(1, 0)
 '品目コードと品目をコピー
 .Range(.Cells(r.Row, .Columns("A").Column), .Cells(r.Row, .Columns("B").Column)).Copy Destination:=myRng2
 'M列の値とN列の値をコピー
 .Range(.Cells(r.Row, .Columns("M").Column), .Cells(r.Row, .Columns("N").Column)).Copy Destination:=myRng2.Offset(, 2)
 End If
 Next
 End With
 End Sub
 
 あと、蛇足で、ponponさんには一度申し上げたことがあるのですが、掲示板中の引
 用は、必要最小限のものでもよろしいかと思います。
 ツリー表示で、一連の内容は、わかりますから。
 
 |  |