前两天有篇VBA的文章,,然后在其他平台有朋友问道它的反向操作有没有VBA的代码,表示我也找到了,分享给大家。
适用情形比如下面一堆的各部门文件过来需要进行汇总(说到底就是做成一个文件,,,),然后就可以用到了。
首先是一堆的文件。
然后新建一个Excel文件(随意位置),进去之后Alt+F11,F7,复制粘贴下面的代码。
Sub 合并工作薄
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="MicroSoft Excel文件(*.xls), *.xls", _
MultiSelect:=True, Title:="要合并的文件")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "没有选中文件"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
Sheets.MoveAfter:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End sub
F5运行,然后会出现弹窗让选择合并的文件。
选择之后点击,打开,等待几秒就好了。
最开始的有个sheet1,手动删除就好。