永发信息网

如何将一个EXCEL中的多个SHEET中内容合并到一个SHEET中

答案:2  悬赏:80  手机版
解决时间 2021-12-18 11:54
如何将一个EXCEL中的多个SHEET中内容合并到一个SHEET中
最佳答案
新建一个总表,准备汇总
Alt+F11,VBA快捷键,在弹出的新界面中,左键双击坐标的名为”总表“的工作表,使后续的代码是复制到这个工作表中。

在右边的空白区域,复制下面的代码:
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
代码详解:1.Sub main()——其中Sub 跟括号是固定的,main是宏名,可以随便更改(其实完全没有必要多此一举,这里可以不做任何修改)2.For Each sh In Sheets——这是遍历全部的工作表,这里就要注意,如果你的工作表中包含一些,不需要汇总数据的工作表,那么就需要将源数据表备份一份,然后将不需要汇总数据的工作表都删除掉,只剩下总表以及需要汇总数据的工作表(当然,还有其他办法,这里只讲解最简单地做法)3.If sh.Name <> "总表" Then——这里是判断工作表的名字是不是”总表“,如果是总表,就不汇总数据,本例中总表的名字就是”总表“,如果你的工作表中,总表名字是其他的,就将这里的”总表“改为你的工作总表明细;4.i = sh.Range("D65536").End(3).Row——这里要注意了"D65536",是为了获得最后一个不为空的行的行号,这里用了D列,因为本例中的D列是有数据的
,在实际的使用过程中,一定要选择一个最后一行有数据的列,否则不能获得最大行号(假如只有2列,那么这里的D可以改为B或者A)5.k = Range("A65536").End(3).Row——这里是获得总表的最大行号,以便复制的数据,能够依次往下粘贴;(这里的A65536跟上面提到的是一个道理,总表中的A列最后一行不是空的)6.sh.Range("A2:D" & i).Copy Range("A" & k + 1)——这里要注意“A2:D”&i是要复制的区域,因为本例中只有A-D列,而且数据是从第2行开始的,所以这里是A2:D,那假如是从E列第10行开始,到Z列结束的区域,就应该改为E10:Z;Range("A" & k + 1)——这里是从总表的A列开始粘贴,假如是从D列开始,那么这里的A改为D即可7.End If Next End Sub——这些是结束判断、继续循环和程序结束,都不需要更改。
保存执行代码
全部回答
把所需合并的excel文档放在同一个文件夹中,再文件夹中新建一个excel打开excel,按alt+f11,或 依次点工具,宏,vb编辑器,弹出的编辑器中点插入模块,新弹出的空白窗口中输入以下代码: sub com() dim mypath, myname, awbname dim wb as workbook, wbn as string dim g as long dim num as long dim box as string application.screenupdating = false mypath = activeworkbook.path myname = dir(mypath & "\" & "*.xls") awbname = activeworkbook.name num = 0 do while myname <> "" if myname <> awbname then set wb = workbooks.open(mypath & "\" & myname) num = num + 1 with workbooks(1).activesheet .cells(.range("a65536").end(xlup).row + 2, 1) = left(myname, len(myname) - 4) for g = 1 to wb.sheets.count wb.sheets(g).usedrange.copy .cells(.range("a65536").end(xlup).row + 1, 1) next wbn = wbn & chr(13) & wb.name wb.close false end with end if myname = dir loop range("a1").select application.screenupdating = true msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示" end sub 保存---点执行键ok
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
摁了sieep再开键为什么没有声音了
①子曰:“今之成人者何必然?见利思义,见危
山东省淄博市博山公证处办公位置在哪啊?好找
野望王绩阅读答案
无线电视总是提示未找到存储的频道,请自行选
2005年3月,京沪高速公路淮安段一辆载有约35
如图所示,利用做功的方式来改变物体内能的是
有一首电音 开头是在这个古老而神秘的仪式里
华为一体机可以在一般的手机维修店可以修理好
篮球与足球的个数比是7:5,篮球35个,足球有
如何利用excel链接一个通过设备采集的信号数
下列说法正确的说法个数是①两个锐角对应相等
张华坐在行驶的公共汽车上,以他坐的汽车为参
单选题在△ABC中,分别根据下列条件解三角形
凯越1.5报2缸3缸不点火怎么解决
推荐资讯
从一块正方形木板上锯下一根宽为5厘米的木条
五间房派出所地址有知道的么?有点事想过去!
单选题下列有关生长素的叙述,不正确的是()
签合同前公司组织了一个星期的培训,签合同后
请问我家电视机黑屏了,但还能听到声音这是为
求星际将军受的耽美文
单选题某物质熔融状态可导电,固态可导电,将
A. lateB. hatC. sale D. tape
单选题为研究酵母菌种群密度的动态变化,某同
来福尔有毒吗?人长期在有来福尔气味的室内会
—Hi, Lucy. Your skirt is very nice. —A.
磁窑派出所办公位置在哪啊?好找么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?