分享

Excel | VBA(5)——合并工作薄

 bitterfleabane 2020-03-22

一起来学office,提高办公技能

问题情境
大体归纳一下,韩老师讲过如下两种多工作薄合并的方法:
Excel|多工作簿数据合并一文中,讲了利用SQL语句进行多工作表合并;
Excel | 数据查询功能实现多工作簿合并与及时刷新一文中 ,讲了利用数据查询进行工作薄合并;
今天增加一种新的,最快速的合并工作表的方法——VBA。

VBA实现
(代码行,请切换至横屏观看)
Sub 合并工作薄()
Dim FileOpen          '定义打开文件变量
Dim i As Integer      '定义打开文件个数变量
Application.ScreenUpdating = False       '关闭屏幕更新,避免合并时屏幕闪烁
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(.xlsx),.xlsx", MultiSelect:=True)  '打开文件类型为.xlsx,并可以打开多个
i = 1
Do While i <= UBound(FileOpen)
    Workbooks.Open Filename:=FileOpen(i)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)           '将需要合并的工作薄中工作表合并到最后一个工作表
    i = i + 1
Loop
Application.ScreenUpdating = True     '打开屏幕更新
MsgBox "已完成合并"                   '合并完成并提示
End Sub

如下图(建议横屏观看):
效果如下:
如果 想把不同工作表数据汇总在同一工作表中,可参考Excel | VBA(4)——合并工作表

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多