应天论坛

 找回密码
 参与我们

QQ登录

只需一步,快速开始

搜索
查看: 1148|回复: 0

[Excel] 快速将多个excel表合并成一个excel表

[复制链接]

276

主题

303

帖子

3187

积分

管理员

湘南小侠客

Rank: 9Rank: 9Rank: 9

积分
3187

优质服务勋章论坛元老

QQ
发表于 2019-6-29 01:59:54 | 显示全部楼层 |阅读模式
应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计

技术实现:利用excel表的宏计算实现。

注意:金山的WPS没有宏计算功能。只能用microsoft excel来实现。

具体如下:

1、我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。如图所示:

1045637-20170531122757602-1565605363.png

1045637-20170531122931477-1898026493.png

2、用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:

1045637-20170531123248852-2029206961.png

1045637-20170531123425071-1870754955.png

3、然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:



  1. sub 合并当前目录下所有工作簿的全部工作表()
  2. dim mypath, myname, awbname
  3. dim wb as workbook, wbn as string
  4. dim g as long
  5. dim num as long
  6. dim box as string
  7. application.screenupdating = false
  8. mypath = activeworkbook.path
  9. myname = dir(mypath & "" & "*.xls")
  10. awbname = activeworkbook.name
  11. num = 0
  12. do while myname <> ""
  13. if myname <> awbname then
  14. set wb = workbooks.open(mypath & "" & myname)
  15. num = num + 1
  16. with workbooks(1).activesheet
  17. .cells(.range("a65536").end(xlup).row + 2, 1) = left(myname, len(myname) - 4)
  18. for g = 1 to sheets.count
  19. wb.sheets(g).usedrange.copy .cells(.range("a65536").end(xlup).row + 1, 1)
  20. next
  21. wbn = wbn & chr(13) & wb.name
  22. wb.close false
  23. end with
  24. end if
  25. myname = dir
  26. loop
  27. range("a1").select
  28. application.screenupdating = true
  29. msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示"
  30. end sub
复制代码



关于[A65536]的含义: 在1995-2006年,excel工作簿包含65536行,但现在的office 2007中工作簿包含1048576行。[A65536]就是A列的最后一行的意思,这段话的意思就是,从A列最后一行向上找,找到有数据的行为止。 如果是[B65536]则是从列最后一行向上找,找到有数据的行为止。

1045637-20170531123727774-1078950938.png

4、运行之后,等待几秒钟,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,就是同一个文件夹里面17个excel表数据合并后的结果。效果如图所示。

1045637-20170531124258461-1987497610.png
每次见你穿短裤打领带,还穿个拖鞋,下次再这样穿不要从我家门口过了!
http://gsh.yzqz.cn/CassettePlayer/index.html

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 参与我们

本版积分规则

QQ|Archiver|手机版|小黑屋|应天社区 ( 湘ICP备17015224号 )

GMT+8, 2024-4-24 08:52 , Processed in 0.984350 second(s), 30 queries .

Powered by Discuz!

© 2001-2017 Comsenz Inc.


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@yzqz.cn

快速回复 返回顶部 返回列表