有时候,需要将几十个工作簿的内容快速汇总成一个工作簿,手动复制粘贴的话,心里会很难受。
。。
今天将大家用VBA一键合并,只需要几秒种,为了测试这段代码,我们新建了4个工作簿在文件夹中,数据都是模拟的,做试验
一键合并代码操作如下所示:
我们看原始表格数据,其中,第1个工作簿有点特殊,这个工作簿中,有两个工作表,第1个工作表的内容是:
第2个工作表的内容是:
第2,3,4个工作簿中都是仅有1个工作表,如下所示:
通过代码,我们一键可以合并,得到结果,这个汇总的结果有两个特点
1、最后一列,还会显示这些数据的来源是哪个工作簿,哪个表名的。
2、原始数据中每一行的标题自动取消,只保留了一个标题。
如下所示:
在Excel菜单栏中,点击开发工具,打开VBA,输入如下代码:
其中代码如下所示:
Sub 合并目录所有工作簿全部工作表()
Dim MP, MN, AW, Wbn, wn
Dim Wb As Workbook
Dim i, a, b, d, c, e
A = False
MP = Ac
MN = Dir(MP & "" & "*.xls")
AW = Ac
Num = 0
e = 1
Do While MN <> ""
If MN <> AW Then
Set Wb = Workbooks.Open(MP & "" & MN)
a = a + 1
With Workbooks(1).ActiveSheet
For i = 1 To S
If Sheets(i).Range("a1") <> "" Then
Wb.Sheets(i).Range("a1").Resize(1, Sheets(i).U).Copy .Cells(1, 1)
d = Wb.Sheets(i).U
c = Wb.Sheets(i).U – 1
wn = Wb.Sheets(i).Name
.Cells(1, d + 1) = "表名"
.Cells(e + 1, d + 1).Resize(c, 1) = MN & wn
e = e + c
Wb.Sheets(i).Range("a2").Resize(c,d).Copy .Cells(.Range("a1048576").End(xlUp).Row + 1, 1)
End If
Next
Wbn = Wbn & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MN = Dir
Loop
Range("a1").Select
A = True
MsgBox "共合并了" & a & "个工作薄下全部工作表。如下:" & Chr(13) & Wbn, vbInformation, "提示"
End Sub
天天有小伙伴说,教程太简单,整点高端的,我就不解释代码了,大家有需求的直接用代码合并,欢迎留言讨论,点赞,转发
————————-
欢迎关注,更多精彩内容持续更新中….
1.文章《(excel如何复制整个工作簿)excel怎么复制工作簿》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《(excel如何复制整个工作簿)excel怎么复制工作簿》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好