【VBA案例013】多个工作簿所有Sheet汇总到一个工作簿中
355 字
2 分钟
【VBA案例013】多个工作簿所有Sheet汇总到一个工作簿中
大家好!昨天视频放错了,今天重新发一下。图片
这次分享的是合并系列的最后一个案例:汇总工作簿。
打个比方:把多个工作簿中的每个Sheet,汇总到一个工作簿里,汇总完之后是所有的Sheet都在同一个工作簿里。

这次使用了Dir函数,以下是VBA代码。详细解析请看文末的视频。
‘Dir函数:返回的是指定路径下【文件】或者【文件夹】的名称。如果不存在,就返回 "" 字符串 ‘Dir 函数一般搭配 do while 循环遍历文件,结束的条件就是Dir返回空值。
‘举例: ‘fileName1 = Dir(“E:\test*.xlsx”) 查找E盘test文件夹里边的xlsx工作簿,将第一个工作簿名称返回 ‘fileName2 = Dir 查找下一个,并且不需要写参数 ‘fileName3 = Dir 查找下一个,并且不需要写参数 ‘fileName4 = Dir 查找下一个,并且不需要写参数 ’… … ‘当返回 "" 的时候说明查找完了。如果直接 fileName_N = Dir 就会报错,需要重新指定参数
Sub 汇总工作簿()
Dim filePath, fileName Dim sht As Worksheet
filePath = ThisWorkbook.Path & "\文件夹\"
fileName = Dir(filePath & "*.xlsx")
Application.ScreenUpdating = False Do While fileName <> "" With Workbooks.Open(filePath & fileName) For Each sht In .Worksheets sht.Copy after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count) ActiveSheet.Name = sht.Name & "-" & Replace(.Name, ".xlsx", "") Next .Close False End With fileName = Dir Loop Application.ScreenUpdating = True
End Sub支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
【VBA案例013】多个工作簿所有Sheet汇总到一个工作簿中
https://fanrich.eu.org/posts/程技/vba/vba案列/vba案例013多个工作簿所有sheet汇总到一个工作簿中/相关文章智能推荐
1
【VBA案例012】合并工作簿
程技2023-10-23
2
【VBA案例020】整合工作簿
程技2023-10-23
3
【VBA案例007】多条件汇总
程技2023-10-23
4
【VBA案例016】拆分工作簿
程技2023-10-23
5
【VBA案例005】自动汇总表单
程技2023-10-23
随机文章随机推荐
樊笼










