Sub汇总()
Dimarr,brr,crr,r%,rr%
r=[A65536].End(3).Row
arr=Range("a2:d"&r)
Range("a2:d"&r).ClearContents
t=1
Fori=1ToUBound(arr)
IfTrim(arr(i,1))""Then
y=Trim(arr(i,1))&Trim(arr(i,2))&Trim(arr(i,4))
brr=arr(i,3)
Forj=i+1ToUBound(arr)
yy=Trim(arr(j,1))&Trim(arr(j,2))&Trim(arr(j,4))
Ify=yyThen
brr=brr+arr(j,3)
arr(j,1)=""
EndIf
Next
t=t+1
arr(i,3)=brr
Range("a"&t).Resize(1,UBound(arr,2))=Application.Index(arr,i,0)
brr=""
EndIf
Next
EndSub
提供一个不使用字典汇总数据的方法,希望能满足你的要求