首页 > 代码库 > 【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文件