早教吧 育儿知识 作业答案 考试题库 百科 知识分享

在EXCEL中用宏合并同类项,并数量相加?如下图,A是供应商的名称,B是规格,C是数量,D是单位.如何合并成下图?求高手做个宏,ABCD60120816012071306032306052303011204022303011204012306052合

题目详情
在EXCEL中用宏合并同类项,并数量相加?
如下图,A是供应商的名称 ,B是规格,C是数量,D是单位.如何合并成下图?求高手做个宏,
A B C D
60 120 8 1
60 120 7 1
30 60 3 2
30 60 5 2
30 30 1 1
20 40 2 2
30 30 1 1
20 40 1 2
30 60 5 2
合并后成这样
A B C D
60 120 15 1
30 60 13 2
20 30 2 1
40 1 2
合并后 B列40是 3 .
▼优质解答
答案和解析
Sub 汇总()
Dim arr, brr, crr, r%, rr%
r = [A65536].End(3).Row
arr = Range("a2:d" & r)
Range("a2:d" & r).ClearContents
t = 1
For i = 1 To UBound(arr)
If Trim(arr(i, 1)) "" Then
y = Trim(arr(i, 1)) & Trim(arr(i, 2)) & Trim(arr(i, 4))
brr = arr(i, 3)
For j = i + 1 To UBound(arr)
yy = Trim(arr(j, 1)) & Trim(arr(j, 2)) & Trim(arr(j, 4))
If y = yy Then
brr = brr + arr(j, 3)
arr(j, 1) = ""
End If
Next
t = t + 1
arr(i, 3) = brr
Range("a" & t).Resize(1, UBound(arr, 2)) = Application.Index(arr, i, 0)
brr = ""
End If
Next
End Sub

提供一个不使用字典汇总数据的方法,希望能满足你的要求