合并计算:利用数组去重的方法把相同名称的行汇总计算
Private Sub CommandButton1_Click()
Set d = CreateObject("scripting.dictionary")
myArray = Selection
Dim n
For Each n In myArray
If Not d.exists(n) Then d.Add n, Application.WorksheetFunction.Match(n, Selection, 0)
Next
k = d.keys
t = d.items
For m = 0 To d.Count - 1
Sheets("清分明细").Range("A" & Sheets("清分明细").Range("A1").End(xlDown).Row + 1).Value = k(m) '单位名
Sheets("清分明细").Range("B" & Sheets("清分明细").Range("B1").End(xlDown).Row + 1).Value = Application.WorksheetFunction.SumIf(Selection, k(m), Sheets("采购明细").Range("H" & Selection.Row & ":H" & Selection.Row + Selection.Rows.Count)) '供货总价
Sheets("清分明细").Range("C" & Sheets("清分明细").Range("C1").End(xlDown).Row + 1).Value = Application.Wo