使用字典求和,有这么几个好处,一个是速度很快,其次,key的排序是按照原来数据的排序来的,再次,利用了key的唯一性这个特性,可以很快的提取唯一值。
以上只是抛砖引玉,大家可以互相讨论一下。
代码:
Sub 求和()
Dim arr, d As Object, nr&, i&, m&
nr = Range('A65536').End(xlUp).Row
arr = Range('A2').Resize(nr, 2)
Set d = CreateObject('scripting.dictionary')
For i = 1 To nr - 1
d(arr(i, 1)) = d(arr(i, 1)) arr(i, 2) '求和
'd(arr(i, 1)) = d(arr(i, 1)) 1 '计数
Next i
Range('E1').CurrentRegion.Offset(1).ClearContents
m = d.Count
Range('E2').Resize(m) = Application.Transpose(d.keys)
Range('F2').Resize(m) = Application.Transpose(d.Items)
Set d = Nothing
End Sub
联系客服