|
发表于 2016-3-22 14:36
|
显示全部楼层
本楼为最佳答案
- Sub 汇总()
- Dim sh As Worksheet
- Set d = CreateObject("scripting.dictionary")
- Set d1 = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary")
- For Each sh In Worksheets
- arr = sh.Range("c3:f" & sh.[c65536].End(3).Row)
- If sh.Name <> ActiveSheet.Name Then
- For i = 1 To UBound(arr)
- x = arr(i, 1)
- If arr(i, 2) <> "" Then d(x) = d(x) & Chr(10) & arr(i, 2)
- If arr(i, 3) > 0 Then d1(x) = d1(x) + arr(i, 3)
- If arr(i, 4) > 0 Then d2(x) = d2(x) + arr(i, 4)
- Next
- Else
- For i = 1 To UBound(arr)
- x = arr(i, 1)
- arr(i, 2) = Mid(d(x), 2)
- arr(i, 3) = d1(x)
- arr(i, 4) = d2(x)
- Next
- sh.Range("c3:f" & sh.[c65536].End(3).Row) = arr
- End If
- Next
- End Sub
复制代码 |
|