私の質問はVBA Excelです。これに似たデータセットがあります: (編集済み)
Order Number Description Item Code Value
AA000001 Mopping Service Payment 00001 100.00
AA000001 Mopping Service Discount 00001 -50.00
AA000001 Bucket Rental 00002 50.00
AA000001 Bucket Rental Discount 00002 -25.00
AA000001 Mopping Service Payment 00001 25.00
AA000001 Bucket Rental 00002 10.00
AA000002 Mopping Service Payment 00001 100.00
AA000002 Mopping Service Discount 00001 -50.00
AA000002 Bucket Rental 00002 50.00
AA000002 Bucket Rental Discount 00002 -25.00
私が出力したいもの:
Order Number Description Item Code Value
AA000001 Mopping Service Payment 00001 75.00
AA000001 Bucket Rental 00002 35.00
AA000002 Mopping Service Payment 00001 50.00
AA000002 Bucket Rental 00002 25.00
インターウェブで次のコードを見つけ、少し修正しましたが、注文番号に基づいて重複を結合するためのロジックがありません (代わりに、注文に関係なくすべてのアイテム コードを同じ値に置き換えています)。 Number.) コードを追加して、特定の注文番号に類似するすべてのアイテム コードを取得し、それらを合計する方法はありますか?
何を追加する必要がありますか? 私は何が欠けていますか?前もって感謝します!
Dim Sh As Worksheet
Dim LastRow As Long
Dim Rng As Range
Set Sh = Worksheets(1)
Sh.Columns(5).Insert
LastRow = Sh.Range("A65536").End(xlUp).Row
With Sh.Range("A1:A" & LastRow).Offset(0, 4)
.FormulaR1C1 = "=IF(COUNTIF(R1C[-2]:RC[-2],RC[-2])>1,"""",SUMIF(R1C[-2]:R[" & LastRow & "]C[-2],RC[-2],R1C[-1]:R[" & LastRow & "]C[-1]))"
.Value = .Value
End With
Sh.Columns(4).Delete
Sh.Rows(1).Insert
Set Rng = Sh.Range("D1:D" & LastRow + 1)
With Rng
.AutoFilter Field:=1, Criteria1:="="
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With