|
发表于 2015-2-4 13:28
|
显示全部楼层
本楼为最佳答案
- Sub Macro1()
- Dim arr, d, w, j%, i&, zf$
- Set d = CreateObject("scripting.dictionary")
- w = Array("A", "C", "D", "H", "K")
- For i = 0 To UBound(w)
- d(w(i)) = ""
- Next
- For j = 1 To Sheets.Count
- zf = Sheets(j).Name
- If zf <> "汇总" And Not d.exists(zf) Then
- arr = Sheets(j).Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- d(arr(i, 1)) = d(arr(i, 1)) + arr(i, 2)
- Next
- End If
- Next
- Sheets("汇总").Activate
- ActiveSheet.UsedRange.ClearContents
- [a1:b1] = Array("姓名", "数量")
- Range("a2").Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items))
- Range("a2").Resize(UBound(w) + 1, 2).Delete
- End Sub
复制代码 |
|