Sub Add() ' 合并当前目录下的所有表格 Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN AsString Dim G AsLong Dim Num AsLong Dim BOX AsString Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath & "\" & "*.xls") AWbName = ActiveWorkbook.Name Num = 0
DoWhile 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 = 1To 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 EndWith EndIf MyName = Dir Loop Range("B1").Select Application.ScreenUpdating = True MsgBox("共合并了" + Num + "个工作薄下的全部工作表。如下:" + Chr(13) + WbN, vbInformation, "提示") EndSub