Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2184|回复: 4

[已解决]多个excel合并成一个excel,在线等

[复制链接]
发表于 2015-11-12 20:28 | 显示全部楼层 |阅读模式
本帖最后由 victory610 于 2015-11-14 19:05 编辑

有多个结构相同的excel,需要合并成一个excel,求VBA代码。谢谢。
最佳答案
2015-11-12 21:14
http://www.excelpx.com/thread-335471-1-1.html

这工具没做完,不过可以完成现在的需求

test.rar

50.12 KB, 下载次数: 3

发表于 2015-11-12 21:14 | 显示全部楼层    本楼为最佳答案   
http://www.excelpx.com/thread-335471-1-1.html

这工具没做完,不过可以完成现在的需求
回复

使用道具 举报

发表于 2015-11-12 21:21 | 显示全部楼层
Sub 数据汇总()
    Application.ScreenUpdating = False
    Dim arr数据
    Dim s行 As Integer
    Set wk汇总 = Worksheets(1)
    Filename = Dir(ThisWorkbook.Path & "\*.xls")
    Do While Filename <> ""
        If Filename <> ThisWorkbook.Name Then
            fn = ThisWorkbook.Path & "\" & Filename
            Set wb = Workbooks.Open(fn)
            Set Sht = wb.Worksheets(1)
            j = Sht.Range("B65536").End(xlUp).Row
            h末列 = Sht.UsedRange.Columns.Count
            s单位 = Left(wb.Name, 4)
            arr数据 = wb.Worksheets(1).Range(Cells(2, 1), Cells(j, h末列))
            s行 = wk汇总.Range("B65536").End(xlUp).Row
            wk汇总.Range("A" & s行 + 1).Resize(j - 1, h末列) = arr数据
            wb.Close False
        End If
        Filename = Dir
        wkcount = wkcount + 1
    Loop
    Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

发表于 2015-11-12 21:29 | 显示全部楼层
本论坛上经常问到这个问题,我根据论坛上的代码改编的。我也经常遇到这方面的问题,有点经验。

test.zip

49.94 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2015-11-12 21:51 | 显示全部楼层
非常感谢2楼和3楼的精彩回答,各有千秋,3楼汇总后为什么没有标题行呢。2楼的解答很系统,但是我看不懂哈。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 09:35 , Processed in 0.303677 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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