日常工作中,我们经常会收集很多同一种格式的表格数据,然后合并到一起,如果手工操作的话,那就累挺了!怎么办呢,我来教大家一种方法,其实并不难哦~
1、准备下面一段程序脚本
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
ExlName = Dir(MyPath & "\" & "*.xls") '返回第一个文件名
AWbName = ActiveWorkbook.Name '目标工作薄
Num = 0
Do While ExlName""
If ExlNameAWbName Then '非本工作薄
Set Wb = Workbooks.Open(MyPath & "\" & ExlName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(ExlName, Len(ExlName) - 4)
For G = 1 To Sheets.Count '循环所有现在工作薄的工作表
名霸免费公司测名 023dirWb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1) '复制有内容区域,超进65536行可能有问题
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
ExlName = Dir '返回下一个文件名
Loop '执行下一个文件内容的合并
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
2、按下图方法操作。
在待合并表格存放路径下面,打开EXCEL表格应用程序(以WPS为例,OFFICE也适用的哈),新建宏,将代码放进编辑区,然后点运行(F5)运行。静待几秒,YES!一切搞定,是不是很爽。
3、建议持续享受劳动成果
将文件保存成.xlsm后缀格式文件,重复利用,拒绝机械劳动,打造高效办公。
欢迎大家与小蓝一起研究,一起分享,一起进步。