|
- Sub test()
- Dim r%, i%
- Dim arr, brr
- Dim d As Object
- Set d = CreateObject("scripting.dictionary")
- For Each ws In Worksheets(Array("sheet1", "sheet2"))
- With ws
- r = .Cells(.Rows.Count, 1).End(xlUp).Row
- arr = .Range("a2:c" & r)
- For i = 1 To UBound(arr)
- If Not d.exists(arr(i, 1)) Then
- ReDim brr(1 To 3)
- brr(1) = arr(i, 1)
- Else
- brr = d(arr(i, 1))
- End If
- brr(2) = brr(2) + arr(i, 2) * IIf(ws.Name = "Sheet1", 1, -1)
- brr(3) = brr(3) + arr(i, 3)
- d(arr(i, 1)) = brr
- Next
- End With
- Next
- With Worksheets("汇总")
- .UsedRange.Offset(1, 0).Clear
- .Range("a2").Resize(d.Count, 3) = Application.Transpose(Application.Transpose(d.items))
- End With
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|