由于我的失误,上节课批量汇总工作簿的代码有几处错误。这节课特此更正一下。
Sub q()
Dim f As String
Application.ScreenUpdating = False '关闭屏幕刷新,加快运行速度
ThisWorkbook.Worksheets(1).Rows("2:" & ThisWorkbook. Worksheets(1). Range("a1").End(xlDown).Row).Delete '删除已存在的内容
f = Dir(ThisWorkbook.Path & "\*.xls*") '第一次使用Dir函数,获取第一个表格
Do While f <> "" And f <> ThisWorkbook.Name
Set wb = GetObject(ThisWorkbook.Path & "\" & f) '隐式打开工作簿
For m = 1 To wb.Worksheets.Count '对工作簿中所有worksheet做循环
For i = 2 To wb.Worksheets(m).[a50000].End(xlUp).Row
ThisWorkbook.Worksheets(1).[a50000].End(xlUp).Offset(1, 0) = wb.Name '工作簿名称
wb.Worksheets(m).Range("b" & i & ":n" & i).Copy ThisWorkbook.Worksheets(1).[b50000].End(xlUp).Offset(1, 0)
ThisWorkbook.Worksheets(1).[o50000].End(xlUp).Offset(1, 0) = wb.Worksheets(m).Name '工作表名称
Next
Next
f = Dir 'Dir函数二次使用,为了获取下一个工作簿
Loop
Set wb = Nothing '释放对象变量
End Sub
◆橙色部分是模板代码
◆绿色部分是注释
附件链接:https://pan.baidu.com/s/1eToSLYa 密码:aof9
联系客服