excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel VBA代码:合并多张工作薄

合并多张工作薄的工作表到新的工作薄中,工作表不汇总。

Sub MergeWb()' 合并多张工作薄,工作表不汇总

' 设置错误处理,当遇到错误时跳转到Errhandler标签处
On Error GoTo Errhandler

' 声明变量
Dim FileOpen, wkb As Workbook, wks As Worksheet
Dim i As Integer

' 关闭屏幕更新,以提高代码执行速度
Application.ScreenUpdating = False

' 使用With语句引用当前工作簿
With ThisWorkbook
' 更改当前驱动器为当前工作簿所在路径
ChDrive .Path
' 更改当前目录为当前工作簿所在路径
ChDir .Path

' 弹出文件选择对话框,允许用户选择多个Excel文件
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls;*.xlsx), *.xls;*.xlsx", MultiSelect:=True, Title:="合并工作薄")

' 设置循环计数器i的初始值为1
i = 1

' 循环直到处理完所有选中的文件
While i <= UBound(FileOpen)
' 打开选中的工作簿
Set wkb = Workbooks.Open(FileOpen(i))

' 将打开的工作簿的所有工作表复制到当前工作簿的末尾
wkb.Sheets().Copy After:=.Sheets(.Sheets.Count)

' 关闭打开的工作簿,不保存更改
wkb.Close False

' 递增循环计数器X
i = i + 1
Wend
End With

' 错误处理:如果发生错误,则执行Errhandler标签处的代码
Errhandler:
' 重新开启屏幕更新
Application.ScreenUpdating = True

' 检查是否有错误发生
If Err <> 0 Then
' 如果有错误,则显示错误描述
MsgBox Err.Description
End If

End Sub

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接