|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- Sub ts()
- Dim d As Object, arr, brr(), i%, j%, f$, wb As Workbook, n%, m%, rng As Range, x%
- Set d = CreateObject("scripting.dictionary")
- f = Dir(ThisWorkbook.Path & "\*.xl*")
- Do While f <> ""
- If f <> ThisWorkbook.Name Then
- Set wb = Workbooks.Open(ThisWorkbook.Path & "" & f)
- For Each rng In wb.Sheets(1).Range([a1], wb.Sheets(1).Cells(1, Columns.Count).End(xlToLeft))
- If rng <> "????????" And rng <> "????" And rng <> "????" And rng <> "???" Then
- rng.EntireColumn.Delete
- End If
- Next
- arr = wb.Sheets(1).[a1].CurrentRegion
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 1)) Then
- n = n + 1
- d(arr(i, 1)) = n
- ReDim Preserve brr(1 To 4, 1 To n)
- For j = 1 To UBound(arr, 2)
- brr(j, n) = arr(i, j)
- Next
- Else
- m = d(arr(i, 1))
- For x = 3 To UBound(arr, 2)
- brr(x, m) = brr(x, m) + arr(i, x)
- Next
- End If
- Next
- wb.Close False
- End If
- f = Dir
- Loop
- ThisWorkbook.Sheets(1).UsedRange.Offset(1).ClearContents
- ThisWorkbook.Sheets(1).[a2].Resize(n, 4) = Application.Transpose(brr)
- End Sub
复制代码 |
|