|
- Dim w(1 To 10000), s%
- Sub Macro1()
- Dim arr, brr, crr, wb As Workbook, d, i&, j&, k%
- Set d = CreateObject("scripting.dictionary")
- arr = Range("a3:d" & Range("a65536").End(xlUp).Row)
- s = 0
- For i = 2 To UBound(arr)
- p2 = ""
- For j = 2 To UBound(arr, 2)
- p2 = p2 & "," & Trim(arr(i, j))
- Next
- d(p2) = i
- Next
- zdir ThisWorkbook.Path & "\数据源"
- ReDim brr(1 To UBound(arr), 1 To s)
- Application.ScreenUpdating = False
- For i = 1 To s
- Set wb = GetObject(w(i))
- crr = wb.Sheets("汇总表").UsedRange
- wb.Close 0
- x = Split(w(i), "")
- brr(1, i) = Replace(x(UBound(x)), ".xls*", "")
- For j = 4 To UBound(crr)
- p2 = ""
- For k = 2 To 4
- p2 = p2 & "," & Trim(crr(j, k))
- Next
- If d.Exists(p2) Then brr(d(p2), i) = crr(j, 10)
- Next
- Next
- Range("e3").Resize(UBound(brr), UBound(brr, 2)) = brr
- Application.ScreenUpdating = True
- End Sub
- Sub zdir(p)
- Dim fs As New FileSystemObject
- For Each f In fs.GetFolder(p).Files
- If f Like "*.xls*" Then s = s + 1: w(s) = f
- Next
- For Each m In fs.GetFolder(p).SubFolders
- zdir m
- Next
- End Sub
复制代码 |
|