Я новичок в VBA Excel, поэтому я просто вычислил код для сортировки числа по возрастанию для столбца A. Затем я хочу подвести итог (значение) столбца B, если столбец A (счет) одинаков. Я использую VBA, потому что я хочу, чтобы он автоматизировал момент, когда я нажимаю командную кнопку.
lrow = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lrow
If Worksheets(1).Cells(i, 1).Value = Cells(i + 1, 1).Value Then
'copy qty order of 2nd row. then plus with previous qty order .
store in the previous order the Result.
result = Cells(i, 3) + Cells(i + 1, 3)
Worksheets(1).Cells(i, 1).Copy
erow = Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Row
Worksheets(1).Paste Destination:=Worksheets(2).Cells(erow + 1, 1)
Worksheets(1).Cells(i, 3).Copy
Worksheets(1).Paste Destination:=Worksheets(2).Cells(erow + 1, 2)
Else
result = Cells(i, 3).Value
Worksheets(1).Cells(i, 1).Copy
erow = Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Row
Worksheets(1).Paste Destination:=Worksheets(2).Cells(erow + 1, 1)
Worksheets(1).Cells(i, 3).Copy
Worksheets(1).Paste Destination:=Worksheets(2).Cells(erow + 1, 2)
End If
Next i
Application.CutCopyMode = False
ThisWorkbook.Worksheets("sheet1").Cells(1, 1).Select
Я ожидаю, что вывод появится в новой рабочей таблице 2.
(рабочий лист 1)
bill value
200 3213
200 123
200 3791
200 34
200 45
200 56
200 76
201 123
201 10993
201 5435
202 2432
202 135
202 5646
202 76776
(рабочий лист 2)
bill value
200 7338
201 16551
202 84989