找回密码
 立即注册
搜索
热搜: Excel discuz
查看: 2645|回复: 0

快速把多个excel表合并成一个excel表

[复制链接]

492

主题

7万

元宝

77万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
770449
发表于 2020-3-26 20:43:37 | 显示全部楼层 |阅读模式
我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。
然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下:
  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("B65536").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("B65536").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("B1").Select

  28. Application.ScreenUpdating = True

  29. MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

  30. End Sub
复制代码

运行之后,等待10秒针左右,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,就是同一个文件夹里面多个excel表数据合并后的结果。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五花八门论坛 ( 豫ICP备15031300号-3 )

GMT+8, 2024-12-21 22:37 , Processed in 0.070691 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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