|
本帖最后由 bajifeng 于 2016-10-9 19:37 编辑
- Sub b() 'bajifeng
- Dim d, ar, br(), i%, j%, fn$, pth$
- Set d = CreateObject("scripting.dictionary")
- fn = Dir(ThisWorkbook.Path & "\*.xls?")
- Do While fn <> ""
- If InStr(fn, "汇总") = 0 Then
- With Workbooks.Open(ThisWorkbook.Path & "" & fn)
- lr = .Sheets(1).[a65536].End(3).Row
- If lr > 2 Then ar = .Sheets(1).Range("a3:d" & lr) Else GoTo 100
- For i = 1 To UBound(ar)
- s = ar(i, 1) & "," & ar(i, 2) & "," & ar(i, 3)
- d(s) = d(s) + ar(i, 4)
- Next
- .Close False
- End With
- End If
- 100:
- fn = Dir
- Loop
- ReDim br(1 To d.Count, 1 To 4)
- For i = 1 To d.Count
- For j = 1 To 3
- br(i, j) = Split(d.keys()(i - 1), ",")(j - 1)
- Next
- br(i, 4) = d.items()(i - 1)
- Next
- [a3].Resize(d.Count, 4) = ""
- [a3].Resize(d.Count, 4) = br
- End Sub
复制代码 |
|