|
>で、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
|
|