设为首页收藏本站|繁體中文

Excel 技巧网

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 14385|回复: 39

[Excel VBA] 快速将多个分公司的利润表合并到一个新的工作簿中

  [复制链接]
发表于 2012-4-18 08:31:29 | 显示全部楼层 |阅读模式
  • 署名作者: omnw
  • 版权声明: 版权归本站与作者共有 除本站官方外非作者本人转载须经许可并注明出处
  • 本文来自:
  • 引用作品:
  • 适用版本: 2010 2007 2003以前版本 
  • 语言环境: 简体中文
  • 学习方法: 掌握Excel技巧的关键是动手操作 | 下载 ≠ 知识


  • 免费注册成为本站会员,享用更多功能,结识更多Office办公高手!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 omnw 于 2012-4-26 16:25 编辑

    快速将多个分公司的利润表合并到一个新的工作簿中

    快速将多个分公司的利润表合并到一个新的工作簿中
    1. Private Sub 合并工作薄()
    2.     Dim f_name As String
    3.     Dim bok1 As Workbook, bok2 As Workbook
    4.     Set bok2 = Nothing
    5.     f_name = Dir(ThisWorkbook.Path & "\*.*") '获得该目录下的所有EXCEL文件
    6.     Do While f_name <> "" '开始执行循环
    7.         If f_name <> ThisWorkbook.Name Then '如果当前的文件不是代码所在文件,执行合并操作
    8.             Set bok1 = Workbooks.Open(ThisWorkbook.Path & "" & f_name) '打开被合并的文件
    9.             If bok2 Is Nothing Then '合并后的文件是否存在
    10.                 bok1.Sheets(1).Copy '如果合并后的文件不存在,则创建一个
    11.                 Set bok2 = ActiveWorkbook
    12.             Else
    13.                 bok1.Sheets(1).Copy Before:=bok2.Sheets(1) '如果合并后的文件存,在则将被合并文件的第一个工作表复制到合并文件中。
    14.             End If
    15.             bok1.Close '关闭被合并文件
    16.         End If
    17.         f_name = Dir() '获取下一个被合并文件名
    18.     Loop
    19. End Sub
    复制代码
    合并工作表.rar (17.25 KB, 下载次数: 1114)

    评分

    参与人数 3魅力值 +15 收起 理由
    isabella9897 + 5 技法娴熟:)
    yncxxmj + 5 感谢帮助:)
    松儿 + 5 思路巧妙:)

    查看全部评分

    发表于 2012-4-18 10:02:02 | 显示全部楼层
    很实用,先收下啦。谢谢楼主
    回复 支持 反对

    使用道具 举报

    发表于 2012-4-26 22:29:32 | 显示全部楼层
    彻底晕了 俺文盲
    回复 支持 反对

    使用道具 举报

    发表于 2012-4-26 22:45:33 | 显示全部楼层
    “f_name = Dir(ThisWorkbook.Path & "\*.*") '获得该目录下的所有EXCEL文件”这个老是提醒俺调试  晕了

    点评

    最好上传附件,以便测试。  详情 回复 发表于 2012-4-27 08:06
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2012-4-27 08:06:47 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    发表于 2012-4-27 09:20:18 | 显示全部楼层
    这个绝对实用,学习了
    回复 支持 反对

    使用道具 举报

    发表于 2012-4-27 10:10:08 | 显示全部楼层
    每个表都一定要格式相同吗?

    点评

    不一定所有的表格都要有相同的格式,不过可能用在合并相同格式报表的时候比较多一些。  详情 回复 发表于 2012-4-27 12:17
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2012-4-27 12:17:51 | 显示全部楼层
    静Tiffany 发表于 2012-4-27 10:10
    每个表都一定要格式相同吗?

    不一定所有的表格都要有相同的格式,不过可能用在合并相同格式报表的时候比较多一些。
    回复 支持 反对

    使用道具 举报

    发表于 2012-5-1 13:10:49 | 显示全部楼层
    这里最好是能修改一下不仅仅是要合并每个工作簿中的第一个工作表 改成所有的比较好吧

    点评

    抛砖引玉而已,可以根据自己的需要完善代码。  详情 回复 发表于 2012-5-1 14:27
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2012-5-1 14:27:05 | 显示全部楼层
    servis 发表于 2012-5-1 13:10
    这里最好是能修改一下不仅仅是要合并每个工作簿中的第一个工作表 改成所有的比较好吧

    抛砖引玉而已,可以根据自己的需要完善代码。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
    本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
    若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
    会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
    本站特聘法律顾问:沈学律师

    Archiver|手机版|Excel技巧网 ( 闽ICP备08107682号-2 ) | 闽公网安备 35020302032608号  

    GMT+8, 2018-4-22 10:53

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表