1、假设在D盘的time目录(文件夹)中有多个工作簿,并且各工作簿的名字没有统一规律,每个工作簿里面只有一个工作表。

2、新建一个空白工作簿,按ALT+F11调出它的VBA窗口,插入一个用户模块,将下面代码粘贴进去。
Sub合并工作簿()
Application.DisplayAlerts=False'关闭提示窗口
shes=Application.SheetsInNewWorkbook'工作簿中包含工作表数
Application.SheetsInNewWorkbook=1'生成的新工作簿中只有一个工作表
Setnewbok=Workbooks.Add'生成新工作簿
Setnewshe=newbok.Worksheets(1)'新工作表
s=1'从新工作表的第一行写入数据
na=Dir("d:\time\*.xls")'需要合并的所有工作表都要事先保存在D盘time文件夹下
DoWhilena<>""
Setwb=Application.Workbooks.Open("d:\time\"&na)
wb.Worksheets(1).UsedRange.Copy'复制数据
newbok.Activate
Cells(s,1).Select
ActiveSheet.Paste'执行粘贴
s=newshe.UsedRange.Rows.Count+1
Cells(s,1)=wb.Name'写入数据所属的工作簿名字
s=s+1
wb.Close'关闭工作簿
na=Dir()'取下一个工作簿
Loop
Application.SheetsInNewWorkbook=shes
Application.DisplayAlerts=True
Range("a1").Select
EndSub
执行这个代码就能快速完成合并工作。

3、
