|
Sub 多薄多表合并()
Application.ScreenUpdating = False
Dim ar()
Dim rn As Range
Dim d As Object
Set d = CreateObject("scripting.dictionary")
ReDim ar(1 To 1000, 1 To 13)
ar(1, 1) = "公司名称"
n = 1: k = 1
lj = ThisWorkbook.Path & "\"
f = Dir(lj & "*.xls*")
Do While f <> ""
If f <> ThisWorkbook.Name Then
Set wb = Workbooks.Open(lj & f, 0)
mc = Replace(wb.Name, ".xls", "")
n = n + 1
ar(n, 1) = mc
For Each sh In wb.Worksheets
Set rn = sh.Rows(5).Find("合计", , , , , , 1)
If Not rn Is Nothing Then
r = sh.Cells(Rows.Count, 1).End(xlUp).Row
y = rn.Column
yf = Replace(sh.Name, "份", "") & "统计"
lh = d(yf)
If lh = "" Then
k = k + 1
d(yf) = k
lh = k
ar(1, k) = yf
End If
ar(n, lh) = sh.Cells(r, y)
End If
Next sh
wb.Close False
End If
f = Dir
Loop
With ActiveSheet
With .[a1].CurrentRegion
.ClearContents
.Borders.LineStyle = 0
End With
.[a1].Resize(n, k) = ar
.[a1].Resize(n, k).Borders.LineStyle = 1
End With
Set d = Nothing
Application.ScreenUpdating = True
MsgBox "ok!"
End Sub
|
评分
-
2
查看全部评分
-
|