多个excel工作簿合并到一个工作簿

漫步的猪 2017-11-14 09:25:16
现在有一个excel的需求,需要把各个工作簿中的表复制到一个工作簿中,使用的vba脚本

Sub MergeWorkbooks()
Dim FileSet
Dim i As Integer

On Error GoTo 0
Application.ScreenUpdating = False

FileSet = Application.GetOpenFilename(FileFilter:="Excel 2003(*.xls),*.xls,Excel 2007(*.xlsx),*.xlsx", _
MultiSelect:=True, Title:="选择要合并的文件")

If TypeName(FileSet) = "Boolean" Then
GoTo ExitSub
End If

For Each Filename In FileSet
Workbooks.Open Filename
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Next

ExitSub:
Application.ScreenUpdating = True

End Sub

现在有一个问题是,它把工作簿中的所有表都复制到了一个文件中,怎么只复制各工作簿中的第一个工作表。该怎么改良vba脚本
...全文
1729 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
z315559822 2018-02-09
  • 打赏
  • 举报
回复
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) 进行WorkSheets()指定
Uncle_higo 2017-12-12
  • 打赏
  • 举报
回复
印象中如果没改过顺序,WorkSheets(1)是可以取到第一个表,但是如果人为移动过,貌似就没办法了吧,或者你手动将需要的表激活为当前表,再保存,下次取就取active sheet
  • 打赏
  • 举报
回复
qq2776478814,多个excel工作簿合并到一个工作簿

5,138

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧