快捷搜索:  汽车  科技

多工作表sheet合并到一张表(工作小记将多个sheet表合并到一张里)

多工作表sheet合并到一张表(工作小记将多个sheet表合并到一张里)代码详解:运行宏在右边的空白区域,输入下面的代码:Sub main() For Each sh In Sheets If sh.Name <> "总表" Then i = sh.Range("D65536").End(3).Row k = Range("A65536").End(3).Row sh.Range("A2:D" & i).Copy Range("A" & k 1) End If Next End Sub 输入代码之后选择工具,宏,运行。稍等一会儿即汇总完毕。

多工作表sheet合并到一张表(工作小记将多个sheet表合并到一张里)(1)

今天拿到 一些表格,每张表里含有多张sheet,但格式都是一样的,需要将每张sheet汇总起来放到一张表里,这里将方法说一下,也方便自己以后再用。


新建一个总表,准备开始汇总。

按下Alt F11,打开VBA,左键双击左边的的名为”总表“的工作表,确保后续的代码是复制到这个工作表中。

多工作表sheet合并到一张表(工作小记将多个sheet表合并到一张里)(2)

选中总表双击

在右边的空白区域,输入下面的代码:

Sub main() For Each sh In Sheets If sh.Name <> "总表" Then i = sh.Range("D65536").End(3).Row k = Range("A65536").End(3).Row sh.Range("A2:D" & i).Copy Range("A" & k 1) End If Next End Sub

多工作表sheet合并到一张表(工作小记将多个sheet表合并到一张里)(3)

输入代码

之后选择工具,宏,运行。稍等一会儿即汇总完毕。

多工作表sheet合并到一张表(工作小记将多个sheet表合并到一张里)(4)

运行宏

代码详解:

  1. Sub main()——main是宏名,可以修改。
  2. For Each sh In Sheets——遍历所有的工作表,不需要汇总的请删除
  3. If sh.Name <> "总表" Then——这里是判断工作表的名字是不是”总表“,如果是总表,就不汇总数据
  4. i = sh.Range("B65536").End(3).Row——获得行号,在实际的使用过程中,一定要选择一个最后一行有数据的列,否则不能获得最大行号
  5. k = Range("A65536").End(3).Row——这里是获得总表的最大行号,以便复制粘贴,无需更改。
  6. sh.Range("A2:D" & i).Copy Range("A" & k 1)——“A2:D”&i是要复制的区域,可根据需要进行调整
  7. Range("A" & k 1)——这里是从总表的A列开始粘贴,假如是从D列开始,那么这里的A改为D即可
  8. End If Next End Sub——结束,无需更改

简单介绍完了,有需要的可以试试。

猜您喜欢: