首页 > 代码库 > 【Excel&VBA】合并统一模板的Excel文件
【Excel&VBA】合并统一模板的Excel文件
新建一个空白Excel作为合并数据集存放的地方,然后在VBA里执行如下代码:
Sub UnionAllExcel() basepath = "D:\Work\Temp\ExcelTemplate\" ‘ Excel所在文件夹路径,必须最后加\ subfile = Dir(basepath, vbDirectory) headerrow = 2 ‘列头行数(可以自己根据数据中有多少行列头设定) rowno = headerrow ‘ 结果数据起始行,第一行为列头 Do While subfile <> "" If subfile <> "." And subfile <> ".." Then Set wb = GetObject(basepath + subfile) ‘ 默认的都是合并每个Excel中第一个工作簿 rowSum = wb.Sheets(1).Range("A65536").End(xlUp).Row colSum = wb.Sheets(1).Range("IV1").End(xlToLeft).Column If rowno = headerrow Then ‘第一次拷贝列头行 ‘ 从单元格(1,1)到单元格(headerrow,colSum),列头内容 wb.Sheets(1).Range(wb.Sheets(1).Cells(1, 1), wb.Sheets(1).Cells(headerrow, colSum)).Copy Range(Cells(1, 1), Cells(headerrow, colSum)) End If ‘ 拷贝内容数据 wb.Sheets(1).Range(wb.Sheets(1).Cells(headerrow + 1, 1), wb.Sheets(1).Cells(rowSum, colSum)).Copy Range(Cells(rowno + 1, 1), Cells(rowno + rowSum, colSum)) rowno = rowno + rowSum - headerrow wb.Close False End If subfile = Dir Loop ThisWorkbook.Save End Sub
【Excel&VBA】合并统一模板的Excel文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。