Excel多表合并宏命令

打开excel,右键单击sheet,查看代码


image.png

复制以下代码

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 <> ""
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 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

左键双击thisworkbook,粘贴代码到区域内


image.png

上方工具栏,运行,运行宏


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、我们为什么活着? 我们为什么而活?这是一个严肃而又具有终结意味的人生问题。 从基因角度讲,人类的生存也仅仅...
    胜过安慰阅读 337评论 1 4
  • 深深的被这个社群的魅力所吸引了,第二天的课程如期而至,昨晚到家都11点了,学了一个小时的英语打卡便开始准备作业了,...
    小狮子Emily阅读 716评论 6 2
  • 我们晚饭后的状态,很多时候就是以下这样: 我看手机,他看手机。 我看书,他看手机。 我写字,他看手机。 我们都喜欢...
    叮咚的你阅读 1,320评论 4 0