将多个工作簿合并到一个工作簿中

作者:白雪 | 创建时间: 2023-04-15
在工作中,有时需要将多个工作簿中数据合并到一个工作簿中统计保存。...
将多个工作簿合并到一个工作簿中

步骤/方法

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

新建一个空白工作簿,按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 执行这个代码就能快速完成合并工作。

温馨提示

EXCEL2003及以前版本的工作簿文件后缀是".xls",如果你用的是EXCEL2007及以上版本,请将代码中的"*.xls"改成"*.xlsx"。
点击展开全文

更多推荐