合并当前目录下所有工作簿的全部工作表
以2003Excel版本为例:
1. 在当前目录下新建一个空的Excel:如2017-1-2
2. 打开2017-1-2Excel文件,alt+F11 进入VB代码编辑器
3. 例:将以下代码粘贴到编辑器thisworkbook中
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName Dim Wb As workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath & "\" &"*.xls") AWbName = ActiveWorkbook.Name Num = 0 Do While MyName <> "" If MyName <> AWbName Then Set Wb = Workbooks.Open(MyPath & "\"& MyName) Num = Num + 1 With Workbooks(1).ActiveSheet .Cells(.Range("B65536").End(xlUp).Row + 2, 1)= Left(MyName, Len(MyName) - 4) For G = 1 To Sheets.Count Wb.Sheets(G).UsedRange.Copy.Cells(.Range("B65536").End(xlUp).Row + 1, 1) Next WbN = WbN & Chr(13) & Wb.Name Wb.Close False End With End If MyName = Dir Loop Range("B1").Select Application.ScreenUpdating = True MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:"& Chr(13) & WbN, vbInformation, "提示" End Sub
4. 关闭vb编辑器 alt+F8 调出宏工具,选中刚才创建的,点击“执行”
5. 完美:2017-1,2017-2就合并好了