一起来学office,提高办公技能
问题情境
Excel|多工作簿数据合并一文中,讲了利用SQL语句进行多工作表合并;
在Excel | 数据查询功能实现多工作簿合并与及时刷新一文中 ,讲了利用数据查询进行工作薄合并;
VBA实现
(代码行,请切换至横屏观看)
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 "打开屏幕更新
End Sub
如下图(建议横屏观看):
效果如下: