打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
批量汇总工作簿代码更正

由于我的失误,上节课批量汇总工作簿的代码有几处错误。这节课特此更正一下。

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
多表合并,你要的全在这里了,收藏好了!
Excel   End(xlUp).Offset(0, 8))分析
300个工作簿里的2000个表复制到一个总表,你要15个小时,我只需要3分钟!
VBA:如何将指定文件夹下所有工作簿的工作表移动到当前工作簿?
VBA的工作薄、工作表、单元格、数组等常见的对象的综合举例
如何快速将整个工作簿的公式转换为数值?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服