本帖最后由 kuangben8 于 2019-1-18 15:46 编辑
如果需要的人员没有重复值的话,直接数组即可。
- Sub 汇总()
- Dim arr, brr, i%, j%, crr
- arr = Worksheets("数据").Range("A1").CurrentRegion
- brr = Worksheets("需要的人员").Range("A1").CurrentRegion
- ReDim crr(1 To UBound(brr, 1) - 1, 1 To 2)
- For i = 2 To UBound(brr, 1)
- crr(i - 1, 1) = brr(i, 1)
- For j = 2 To UBound(arr, 1)
- If arr(j, 1) = brr(i, 1) Then
- crr(i - 1, 2) = crr(i - 1, 2) + arr(j, 2)
- End If
- Next
- Next
- With Worksheets("需要的数据")
- .Range("A1").CurrentRegion.Offset(1, 0).ClearContents
- .Range("A2").Resize(UBound(crr, 1), 2) = crr
- End With
- End Sub
复制代码
|