永发信息网

怎么合并多个工作表到一个工作表

答案:2  悬赏:40  手机版
解决时间 2021-03-18 13:40
怎么合并多个工作表到一个工作表
最佳答案
可以利用VBA快速合并单个excel工作簿中的多个工作表(sheet)
软件版本:Office2007
方法如下:
1.当前工作簿中有多个工作表,结构都一样如下所示,当里面的数据不一样,将它们全部合并到当前工作表中:

2.Alt+F11,打开宏界面,输入如下代码:
Sub m()
For Each sh In Sheets '遍历每个工作表,提取数据
If sh.Name <> "Sheet1" Then '排除当前工作表
sh.Range("A2:C" & sh.Range("A65536").End(3).Row).Copy Range("A" & Range("A65536").End(3).Row + 1) '将工作表中的所有数据复制到当前工作表最后一行的下一行中
End If
Next
End Sub

3.F5执行代码,返回Excel得到结果如下,工作表合并完成:
全部回答
你新建一个文件夹,在里面新建一个excel表格,把你那个excel也放里面,打开新建的excel》按住alt+f11》在点击左上角的sheet1》把下面的代码粘贴进去》然后运行。 sub 合并当前目录下所有工作簿的全部工作表() 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 &lt;&gt; "" if myname &lt;&gt; 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 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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦到彩虹后又梦到黑色的蛇
数据是否符合主成分分析法的数据要求?
Word语音朗读校对助手 2009.7.8怎么用
生鱼煲什么汤好喝
宁波慈溪达蓬山乐园门票多少?到里面还要买票
黑道特种兵主角有几个老婆?都是谁?
轻型井点降水应将地下水位降低致基坑底面以下
云集上的护肤品是正品吗
win7浏览器 项卡间切换 热键是ctrl tab 在哪
如果刚刚开始分期苹果7要交多少钱
2015中国大陆重大重大意外事故
就这一届马上中考的学生还能报考江苏海事职业
老婆说没有感情了不想和我过了,两个孩子,离婚
急用,想下午去献血。。石家庄献血屋工作时间
猎天使魔女2 日版美版有什么区别
推荐资讯
辉县都有什么工作。怎么找不到一个活
青蒿 茵陈是同一种植物吗,有没有区别
晚上十点的火车,第二天早上七点到,万一睡过
惠州动车东南站哪个离凯宾斯基酒店近
去德国,单反相机能不能带?要不要报关?
莲都区老龄工作委员会办公室怎么去啊,有知道
被称为“装在轮子上的国家”?理由
键盘 打印机 多媒体音箱 显卡哪个属于外设部
希望早日恢复徽州,婺源回皖 绩溪回徽 徽州复
冰河蓝颜色与什么颜色搭配好看
乃裳园在哪里啊,我有事要去这个地方
上古卷轴5奥瑞埃尔教堂BUG
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?