WPS合并多个sheet到一个里面方法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,关闭回到表格,查看汇总,就会出现下面情况

关闭宏即可。

相关文档
最新文档