怎么将多个具有相同模板的excel表格汇总成一个?

office应用 徐 自远 1029℃

 

在工作中,我们经常会下发一个通知,并且给他们做好了模板,要求下一级按照模板填写好后再给我返回来,这样我就有了很多张模板相同的表格。拿到比如说20多张下一级返上来的表格之后,我们多半会汇总到一个总表里,如果是在一张表里的不同sheet,我们可以使用数据合并计算,但是这20多张表你收上来每一个都是单独的,怎么在这种情况下快速合并为一张表,而不是复制粘贴20多次

多个工作表比较方便的合并方式为VBA合并,因为没有看到你的表格的具体样式,我给你一个通用的代码,你自己根据需要更改。

Sub 快速合并()

‘错误继续运行

On Error Resume Next

‘屏蔽所有的提示框

Application.DisplayAlerts = Flase

‘关闭屏幕刷新

Application.ScreenUpdating = False

Dim my_File As String

‘获取本工作表所在文件夹下面的所有xlsx文件,可以更改为xls

my_File = Dir(ThisWorkbook.Path & “\” & “*.xlsx”)

‘遍历所有文件

Do While Len(my_File) <> 0

Workbooks.Open (ThisWorkbook.Path & “\” & my_File)

‘遍历工作表

For Each sh In ActiveWorkbook.Worksheets

‘获取最后一行的单元格所在行号

lst = sh.[a1000].End(xlUp).Row

‘如果工作表为空,则不复制

If lst > 2 Then

‘获取存放合并后数据最后一行的行号,然后+1为新放置复制区域的开始行号

tlst = ThisWorkbook.Sheets(“sheet1”).[a10000].End(xlUp).Row + 1

‘执行复制操作

sh.Range(“a3:h” & lst).Copy ThisWorkbook.Sheets(“sheet1”).Range(“a” & tlst & “:h” & tlst + lst – 2)

End If

Next

‘关闭打开的工作簿

ActiveWorkbook.Close

my_File = Dir

Loop

‘打开excel的提示框

Application.DisplayAlerts = True

‘打开屏幕刷新

Application.ScreenUpdating = True

End Sub

https://www.wukong.com/question/6486278422803775757/?share_ansid=6486342573500662030&iid=16893732201

转载请注明:徐自远的乱七八糟小站 » 怎么将多个具有相同模板的excel表格汇总成一个?

喜欢 (0)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号