| 
    
     |  | ▼indy さん: ponpon です。こんばんは。
 offsetとresizeをヘルプで調べればできると思います。
 
 >sheet1
 >  A     B  ・ ・・・・ M  N
 >1 品目CODE 品目       A店 B店
 >2 001   みかん      500 700
 >3 002   りんご      800 800
 >4 003   バナナ      300 450
 >5  :    :         :
 >6
 >というデータを
 >sheet2
 >  A     B    C  D
 >1 品目CODE 品目  A店 B店
 >2 001   みかん  500 700
 >3 003   バナナ  300 450
 >4  :    :    :
 >5
 >と、条件は変わらないのですが、sheet1のデータが離れてしまっている
 >(DからL列は条件には関係のないデータが入っています)
 >ものをsheet2のようにしたい時はどのように書けばいいのでしょうか・・。
 >初心者の為、お手数おかけ致します。
 >宜しくお願いします。
 
 >>Sub test()
 >>  Dim myRng As Range
 >>  Dim myRng2 As Range
 >>  Dim r As Range
 >>
 >>  With Worksheets("sheet1")
 >>     Set myRng = .Range(.Range("B2"), .Range("B65536").End(xlUp))
 ↑       ↑
 M2にかえる   M65536にかえる。
 >>     For Each r In myRng
 >>      If r <> "" Then
 >>       If r.Value <> r.Offset(, 1).Value Then
 >>        Set myRng2 = Worksheets("sheet2").Range("A65536").End _
 >>          (xlUp).Offset(1, 0)
 >>        Worksheets("sheet2").Range("A1").Resize(1, 3).Value _
 >>         = .Range("A1").Resize(1, 3).Value
 ↑
 ここは、A1:B1 とC1:D1に分けて考える。
 ↓
 >>        myRng2.Resize(1, 3).Value = r.Offset(, -1) _
 >>                      .Resize(1, 3).Value
 
 ↑ここも、rからどれくらいoffsetするか考える
 
 >>       End If
 >>      End If
 >>     Next
 >>  End With
 >>
 >>End Sub
 
 自分でがんばってみてください。
 後sheet2のA列は書式を文字列にしないといけません。
 
 |  |