如何快速把多个excel表合并成一个excel表
发布网友
发布时间:2022-03-30 21:43
我来回答
共2个回答
热心网友
时间:2022-03-30 23:29
可以利用VBA快速把多个excel表合并成一个excel表
软件版本:Office2007
方法如下:
1.当前工作簿中有多个工作表,结构都一样如下所示,当里面的数据不一样,将它们全部合并到当前工作表中:
2.Alt+F11,打开宏界面,输入如下代码:
Sub m()
For Each sh In Sheets '遍历每个工作表,提取数据
If sh.Name <> "Sheet1" Then '排除当前工作表
sh.Range("A2:C" & sh.Range("A65536").End(3).Row).Copy Range("A" & Range("A65536").End(3).Row + 1) '将工作表中的所有数据复制到当前工作表最后一行的下一行中
End If
Next
End Sub
3.F5执行代码,返回Excel得到结果如下,工作表合并完成:
热心网友
时间:2022-03-31 01:03
Sub 同一工作簿中多表合并()
Dim i%, j%, rs%, rss%, st As Worksheet, zst As Worksheet
Set zst = Sheets("合并2个月") '将合并月份定义为变量zst
'j = zst.Cells(Rows.Count, 8).End(xlUp).Row '计算总表H列的最后一行行号
j = Application.CountA([h:h])
zst.Range("a2:h" & j).Delete '清除A2:HJ区域内容
For i = 1 To 2
Set st = Sheets(i & "月") '将1-2月每月工作表定义为变量st
rs = st.UsedRange.Rows.Count
rss = zst.UsedRange.Rows.Count + 1 '计算总表已使用单元格区域的行号下一行
st.Range("a2:g" & rs).Copy zst.Range("a" & rss) '复制每一个分表的数据到总表
zst.Cells(rss, 8).Resize(rs - 1) = i & "月" '将分表的工作表名写入到总表对应的单元格内"
Next
End Sub