WPS合并多个sheet到一个里面方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在工作当中会遇到很多个格式一样的表格在多个表里面,有时候就需要把他们合并在一起,但是复制粘贴,不仅工作量大,还容易出错,所以,给大家一个简单的方法,可以很容易解决问题,可能在用词上不当,毕竟是为了工作才弄的,还请指教改正。
工具:WPS,VBA6
(1)打开需要合并的表格,保证表格格式后缀为.xlsm
(2)在所以文档最后新建一个sheet表格,命名汇总,并将格式一样的表头复制到该表格
(3)ALT+F11,打开源代码,或者按照以下截图找到开发工具-VB编辑器打开,
找到汇总,双击进入代码编辑区,按照表格数据复制粘贴以下代码:
Sub 合并sheets()
n = 153 '源表个数,根据需要修改!
nstart = 6 '每个单表数据的起始行数,根据需要修改!
k = nstart '目标表的行标
For i = 1 To n
irow = nstart '行标
While Sheets(i).Cells(irow + 1, 1) <> "" '后面个1以第1列数据为结束标示,确定源表的行数,根据需要修改!
irow = irow + 1
Wend
Sheets(i).Rows(nstart & ":" & irow).Copy '复制源数据行
Sheets(n + 1).Activate
Sheets(n + 1).Cells(k, 1).Select
ActiveSheet.Paste '粘贴数据
k = k + irow - nstart + 1
Next i
End Sub
此处将需要修改的几个代码数据,解释如下:
Sub 合并sheets()
n = 3 '源表个数,根据需要修改,在我这个例子,汇总前面只有3个表格,所以此处n=3
nstart = 3'每个单表数据的起始行数,根据需要修改,也就是你要从每个表里复制的数据的起始行数,在我的例子当中,除了表头开始就是第3行开始,所以此处nstart = 3
k = nstart '目标表的行标
For i = 1 To n
irow = nstart '行标
While Sheets(i).Cells(irow + 1, 3) <> "" '后面个3以第1列数据为结束标示,确定源表的行数,根据需要修改,此处后面标为绿色的3的意思是你要从每个表里复制的数据的行数,从上面复制的数据的起始行数为1算起,我这个表里为3
irow = irow + 1
Wend
Sheets(i).Rows(nstart & ":" & irow).Copy '复制源数据行
Sheets(n + 1).Activate
Sheets(n + 1).Cells(k, 1).Select
ActiveSheet.Paste '粘贴数据
k = k + irow - nstart + 1
Next i
End Sub
(3)Ctrl+S,F5,关闭回到表格,查看汇总,就会出现下面情况
关闭宏即可。