| 
    
     |  | >で、A列とか B列は そうではなく、上から手入力していて、たとえば、 >↓の例ですと、[B23]から下は 空白セル(数式も入っていない) なのでは?
 >
 >   A    B     C       D    E   F    G
 >16 日付  コード  商品名     価格 出庫数 単位  金額
 >17     1015   SuperDry    800   100  本  80000
 >18     1016   黒ラベル    800   55  本  44000
 >19     1059   白岳仙     1000    3  本  3000
 >20     1066   黒龍      1000    4  本  4000
 >21     1024   梅酒な     450    5  本  2250
 >22     1055   一本義     1000    4  本  4000
 >23          =If(B23="","",...)
 >24          =If(B24="","",...)
 >25          =If(B25="","",...)
 > :
 > :
 >114         =If(B114="","",...)
 
 B列に着目すれば、値が入っている行だけを直接コピーしてしまえばよいので
 簡単です。
 
 Sub tryB()
 Dim wsまとめ As Worksheet
 Dim ws As Worksheet
 
 Set wsまとめ = Worksheets("集約") 'まとめ用シート
 For Each ws In Worksheets
 If ws.Name <> wsまとめ.Name Then
 ws.Range("B17", ws.Cells(Rows.Count, 2).End(xlUp)) _
 .Offset(, -1).Resize(, 7).Copy
 wsまとめ.Cells(Rows.Count, 2).End(xlUp).Offset(1, -1) _
 .PasteSpecial xlPasteValues
 End If
 Next
 
 End Sub
 
 |  |