|
- Sub ykcbf() '//2025.3.15 多文件汇总
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- Set fso = CreateObject("scripting.filesystemobject")
- Set ws = ThisWorkbook
- p = ws.Path & ""
- Set Sh = ws.Sheets("Sheet1")
- arr = Sh.UsedRange
- On Error Resume Next
- Dim tm: tm = Timer
- ReDim brr(1 To 10 ^ 4, 1 To 100)
- For Each f In fso.GetFolder(p).Files
- If LCase$(f.Name) Like "*.xls*" Then
- If InStr(f.Name, ThisWorkbook.Name) = 0 Then
- Set wb = Workbooks.Open(f, 0)
- With wb.Sheets(1)
- r = .UsedRange.Find("*", , -4163, , 1, 2).Row
- c = .UsedRange.Find("*", , -4163, , 2, 2).Column
- arr = .[a1].Resize(r, c)
- End With
- wb.Close 0
- For i = 1 To UBound(arr)
- If arr(i, 12) <> Empty Then
- m = m + 1
- brr(m, 1) = arr(i, 12)
- brr(m, 2) = arr(i, 15)
- End If
- Next
- End If
- End If
- Next f
- With Sh
- .UsedRange = Empty
- .[a1].Resize(m, 2) = brr
- End With
- Application.ScreenUpdating = True
- MsgBox "共用时:" & Format(Timer - tm, "0.000") & "秒!"
- End Sub
复制代码
|
评分
-
1
查看全部评分
-
|