|
- Sub Macro1()
- Dim arr, brr, d, mypath$$, wj$$, i&, s&, n%
- Set d = CreateObject("scripting.dictionary")
- ReDim brr(1 To 20000, 1 To 200)
- mypath = ThisWorkbook.Path & "\数据源"
- wj = Dir(mypath & "*.XLS")
- n = 2
- Application.ScreenUpdating = False
- Do While wj <> ""
- n = n + 1
- With GetObject(mypath & wj)
- gzb = Split(.Name, ".XLS")(0)
- arr = .Sheets(1).Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 1)) Then
- s = s + 1
- d(arr(i, 1)) = s
- brr(s, 1) = arr(i, 1)
- brr(s, 2) = arr(i, 2)
- brr(s, n) = gzb
- Else
- brr(d(arr(i, 1)), n) = gzb
- End If
- Next
- .Close 0
- End With
- wj = Dir
- Loop
- Range("a2").Resize(s, n) = brr
- Columns.AutoFit
- Application.ScreenUpdating = True
- End Sub
复制代码 |
|