Excel实用宏系列02:合并多个Excel文件

 时间:2024-09-24 19:13:27

有时候我们需要将一堆的Excel文件合并到一个文件夹氇筐塘瓠里面分析,如果文件比较少的话还可以手动操作,文件特别多的话,手动操作就不现实了。本文介绍一种快速合并多邗锒凳审个Excel文件的方法——使用宏合并多个Excel文件。

工具/原料

Excel2003及以上

方法/步骤

1、按住Alt+F11打开VBE编辑窗口,依次点击“插入->模块”插入一个新模块。

2、在新模块中复制如下代码:OptionExplicitSubHzWb()Di葡矩酉缸mbtAsRange,rAsL泠贾高框ong,cAsLongr=1'1是表头的行数c=7'7是表头的列数DimwtAsWorksheetSetwt=ThisWorkbook.Worksheets(1)'将汇总表赋给变量wtwt.Rows(r+1&":1048576").ClearContents'清除汇总表中原表数据,只保留表头Application.ScreenUpdating=FalseDimFileNameAsString,shtAsWorksheet,wbAsWorkbookDimErowAsLong,fnAsString,arrAsVariantFileName=Dir(ThisWorkbook.Path&"\*.xlsx")DoWhileFileName<>""IfFileName<>ThisWorkbook.NameThen'判断文件是否是汇总数据的工作簿Erow=wt.Range("A1").CurrentRegion.Rows.Count+1'取得汇总表中第一条空行行号fn=ThisWorkbook.Path&"\"&FileName'将第1个要汇总的工作簿名称赋给变量fnSetwb=GetObject(fn)'将变量fn代表的工作簿对象赋给变量wbSetsht=wb.Worksheets(1)'将要汇总的工作表赋给变量sht'将工作表中要汇总的记录保存在数组arr里arr=sht.Range(sht.Cells(r+1,"A"),sht.Cells(1048576,"B").End(xlUp).Offset(0,5))'将数组arr中的数据写入工作表wt.Cells(Erow,"A").Resize(UBound(arr,1),UBound(arr,2))=arrwb.CloseFalseEndIfFileName=Dir'用Dir函数取得其他文件名,并赋给变量LoopApplication.ScreenUpdating=TrueEndSub

3、根据备注修改使代码适用具体工作任务,将以上代码按照需求更改后运行即可合并多个Excel文件。(再次强调代码中的标点符号必须是英文标点符号。)

4、修改完代码后按F5键执行或者回到工作表界面按Alt+F8执行均可。具体的打开VBE界面以及执行方法在这里就不附上图片了,具体参考引用经验。

在VBA中,正则的实例应用(15)——零宽断言 用Excel的宏和超链接做出简单的sheet表中的转换 怎么用VBA宏代码给单元格加上万元作为单位 Excel 2003如何输入并集符号 在VBA中如何删除文件?
热门搜索
怎么改变图片尺寸 新房装修图片 火影忍者邪恶图片 经典动漫电影 山西平遥古城图片