将文件夹下所有EXCEL文件的工作表合并到一个工作薄中
在工作中遇到需要将大量的EXCEL文档汇总到一起的时候,一个个COPY,PASTE是很费时的。
VBA可以帮我们搞定这件事,文件再多,也只需一键就可以完成了。
建一EXCEL文件,插入一个按钮,编辑宏。
输入以下VBA代码。
Sub combo()
Dim Wk As Workbook, Sht As Worksheet, n As Integer, MyPath, MyName
Application.ScreenUpdating = False
Application.EnableEvents = False
n = 1
MyPath = ThisWorkbook.Path & “\分表\” ‘指定路径
MyName = Dir(MyPath & “\” & “*.xls”) ‘寻找第一项
Do While MyName <> “” ‘开始循环
If MyName <> ThisWorkbook.Name Then
Set Wk = Workbooks.Open(MyPath & “\” & MyName)
Wk.Sheets(1).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) ‘此处只插个第一个sheet
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = Mid(MyName, 1, Len(MyName) – 4) ‘重新命名sheet
‘For Each Sht In Wk.Sheets ‘多个sheet
‘Sht.Name = Format(n, “000″)
‘n = n + 1
‘Next
Wk.Close False
End If
MyName = Dir ‘查找下一个
Loop
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
保存,返回Excel,点一下按钮试试,大功告成(1100,1101…)。
