|
发表于 2017-5-17 12:42
|
显示全部楼层
本楼为最佳答案
- Sub aaa()
- Dim arr, brr, crr(1 To 1000, 1 To 3), i&, j&, d As Object, r&
- Set d = CreateObject("scripting.dictionary")
- arr = Sheets(1).[a1].CurrentRegion
- brr = Sheets(2).[a1].CurrentRegion
- For i = 2 To UBound(brr)
- For j = 2 To UBound(arr)
- If arr(j, 1) = brr(i, 1) Then
- If Not d.exists(arr(j, 2)) Then
- r = r + 1
- d(arr(j, 2)) = r
- crr(r, 1) = arr(j, 2)
- crr(r, 2) = arr(j, 3)
- End If
- crr(d(arr(j, 2)), 3) = crr(d(arr(j, 2)), 3) + brr(i, 2) * arr(j, 4)
- End If
- Next j
- Next i
- Sheets(3).[a2].Resize(r, 3) = crr
- End Sub回复前一个要求,后一个还没看。
复制代码 |
|