- Sub test()
- Dim arr(), brr(1 To 1000, 1 To 2)
- Dim x, k, h
- Dim d
- Set d = CreateObject("scripting.dictionary")
- arr = Range("A1").CurrentRegion
- For x = 2 To UBound(arr)
- If d.Exists(arr(x, 1)) Then
- h = d(arr(x, 1))
- brr(h, 2) = arr(x, 2) + brr(h, 2)
- Else
- k = k + 1
- d(arr(x, 1)) = k
- brr(k, 1) = arr(x, 1)
- brr(k, 2) = arr(x, 2)
- End If
- Next x
- Range("e2").Resize(UBound(arr), 2) = brr
- End Sub
复制代码 |