在工作当中会遇到很多个格式一样的表格在多个表里面,有时候就需要把他们合并在一起,但是复制粘贴,不仅工作量大,还容易出错,所以,给大家一个简单的方法,可以很容易解决问题,可能在用词上不当,毕竟是为了工作才弄的,还请指教改正。工具:WPS,VBA6(1)打开需要合并的表格,保证表格格式后缀为.xlsm(2)在所以文档最后新建一个sheet表格,命名汇总,并将格式一样的表头复制到该表格(3)ALT+F11,打开源代码,或者按照以下截图找到开发工具-VB编辑器打开,找到汇总,双击进入代码编辑区,按照表格数据复制粘贴以下代码:Sub合并sheets()n=153'源表个数,根据需要修改!nstart=6'每个单表数据的起始行数,根据需要修改!k=nstart'目标表的行标Fori=1Tonirow=nstart'行标WhileSheets(i).Cells(irow+1,1)'后面个1以第1列数据为结束标示,确定源表的行数,根据需要修改!irow=irow+1WendSheets(i).Rows(nstart&:&irow).Copy'复制源数据行Sheets(n+1).ActivateSheets(n+1).Cells(k,1).SelectActiveSheet.Paste'粘贴数据k=k+irow-nstart+1NextiEndSub此处将需要修改的几个代码数据,解释如下:Sub合并sheets()n=3'源表个数,根据需要修改,在我这个例子,汇总前面只有3个表格,所以此处n=3nstart=3'每个单表数据的起始行数,根据需要修改,也就是你要从每个表里复制的数据的起始行数,在我的例子当中,除了表头开始就是第3行开始,所以此处nstart=3k=nstart'目标表的行标Fori=1Tonirow=nstart'行标WhileSheets(i).Cells(irow+1,3)'后面个3以第1列数据为结束标示,确定源表的行数,根据需要修改,此处后面标为绿色的3的意思是你要从每个表里复制的数据的行数,从上面复制的数据的起始行数为1算起,我这个表里为3irow=irow+1WendSheets(i).Rows(nstart&:&irow).Copy'复制源数据行Sheets(n+1).ActivateSheets(n+1).Cells(k,1).SelectActiveSheet.Paste'粘贴数据k=k+irow-nstart+1NextiEndSub(3)Ctrl+S,F5,关闭回到表格,查看汇总,就会出现下面情况关闭宏即可。