Мне нужно объединить 400 000 строк данных уровня заказа по номеру заказа, добавив при этом количество кораблей для каждой строки с одинаковым номером заказа.
Мне нужно объединить несколько строк данных с тремя общими элементами (номер заказа, получатель, дата отгрузки) и добавить конкретные значения из каждой строки (количество отправленных) и сохранить общие элементы плюс сумму количества отгруженных.

На самом деле существует 60867 уникальных номеров заказов. Поэтому я ожидаю, что смогу объединить это количество уникальных строк с суммированным количеством кораблей и сохранить значения, указанные в заголовке.

Order Number  Recipient                             Shipped Date    Shipped Qty
1540690       HBUK-02096-00850-ASHBOURNE - 00850    2/8/2012        10
1540690       HBUK-02096-00850-ASHBOURNE - 00850    2/8/2012        10
1540690       HBUK-02096-00850-ASHBOURNE - 00850    2/8/2012        10
1540690       HBUK-02096-00850-ASHBOURNE - 00850    2/8/2012        40
1540691       HBUK-02096-00858-CASTLEFORD - 00858   2/8/2012        10
1540691       HBUK-02096-00858-CASTLEFORD - 00858   2/8/2012        10
1540691       HBUK-02096-00858-CASTLEFORD - 00858   2/8/2012        30

1 ответ1

0

Это должно работать

Sub Chris()
Dim lrow As Long

With ActiveSheet

lrow = .Cells(65536, 1).End(xlUp).Row

.Cells(1).CurrentRegion.Sort key1:=.Cells(1), Header:=xlYes

Do

    If .Cells(lrow - 1, 1) = .Cells(lrow, 1) Then
        .Cells(lrow - 1, 4) = .Cells(lrow - 1, 4) + .Cells(lrow, 4)
        .Rows(lrow).Delete
    End If

    lrow = lrow - 1

Loop Until lrow < 2

End With

End Sub

адаптировано из источника

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .