|
发表于 2011-11-3 12:22
|
显示全部楼层
本楼为最佳答案
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim arr, I%, d, arrt, k%
- If Target.Address = "$C$4" Then
- arr = Range("H6:j" & [h65536].End(3).Row)
- Set d = CreateObject("scripting.dictionary")
- For I = 1 To UBound(arr)
- d(arr(I, 1) & "|" & arr(I, 2)) = d(arr(I, 1) & "|" & arr(I, 2)) + arr(I, 3)
- Next
- arrt = Range("b5:c" & [b65536].End(3).Row)
- For k = 1 To UBound(arrt)
- arrt(k, 2) = d(arrt(k, 1) & "|" & [c4].Value)
- Next
- Range("b5").Resize(UBound(arrt), 2) = arrt
- End If
- End Sub
复制代码 |
|