excel几个表合成一张_快速将多个excel表合并成一个excel表

应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计

技术实现:利用excel表的宏计算实现。

注意:金山的WPS没有宏计算功能。只能用microsoft excel来实现。

具体如下:

1、我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。如图所示:

2、用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:

3、然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:

sub合并当前目录下所有工作簿的全部工作表()dimmypath, myname, awbnamedim wb as workbook, wbn as string

dim g as long

dim num as long

dim box as stringapplication.screenupdating= falsemypath=activeworkbook.path

myname= dir(mypath & "\" & "*.xls")

awbname=activeworkbook.name

num= 0

do while myname <> ""

if myname <> awbname then

set wb = workbooks.open(mypath & "\" &myname)

num= num + 1

with workbooks(1).activesheet

.cells(.range("a65536").end(xlup).row + 2, 1) = left(myname, len(myname) - 4)for g = 1 tosheets.count

wb.sheets(g).usedrange.copy .cells(.range("a65536").end(xlup).row + 1, 1)nextwbn= wbn & chr(13) &wb.name

wb.closefalse

end with

end ifmyname= dir

looprange("a1").select

application.screenupdating= true

msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示"

end sub

关于[A65536]的含义: 在1995-2006年,excel工作簿包含65536行,但现在的office 2007中工作簿包含1048576行。[A65536]就是A列的最后一行的意思,这段话的意思就是,从A列最后一行向上找,找到有数据的行为止。 如果是[B65536]则是从列最后一行向上找,找到有数据的行为止。

4、运行之后,等待几秒钟,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,就是同一个文件夹里面17个excel表数据合并后的结果。效果如图所示。

----------------------------------------------------------------------------------------------------------------------------------------------------------

参考资料:https://jingyan.baidu.com/article/f0062228d16ba9fbd3f0c82b.html?qq-pf-to=pcqq.c2c       //如何快速把多个excel表合并成一个excel表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值