我们在日常工作或科研中,总会遇到需要汇总多个excel的情况,若仅仅是几个表格,大多人会直接复制,若有上百个表格呢?
那么小编就告诉大家一个稍微简洁一点的方法,将多个单独的excel表格快速合并到一个excel中。快快收藏以备不时之需吧。
方法一:excel宏计算
1)我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。
2)用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:
3)然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:
sub 合并当前目录下所有工作簿的全部工作表()
dim mypath, myname, awbname
dim wb as workbook, wbn as string
dim g as long
dim num as long
dim box as string
application.screenupdating = false
mypath = 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 to sheets.count
wb.sheets(g).usedrange.copy .cells(.range("a65536").end(xlup).row + 1, 1)
next
wbn = wbn & chr(13) & wb.name
wb.close false
end with
end if
myname = dir
loop
range("a1").select
application.screenupdating = true
msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示"
end sub
4)运行之后,等待几秒钟,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,就是同一个文件夹里面excel表数据合并后的结果。
但这个方法主要针对excel文件格式,当文档是csv格式时,因为无法找到正确的格式,就会出现合并表格为0的情况,这里还有一种更加简便的方法可以合并xls和csv格式。
方法二:bat小程序合并.xls和.csv格式
1)新建一个.txt文本文件,就命名为“合并.txt”吧。打开文件,复制以下代码到文件中:
@echo off
E:
cd xls
dir
copy *.csv all_keywords.csv
echo @@@@@@@@@@@@@合并成功!@@@@@@@@@@@@@'
pause
*****************************
这段代码的详细解释如下图所示:
2)复制好代码后,保存并关闭txt文件,然后将.txt后缀改为.bat,这样合并程序就做好了。
3)给存放excel文件找个硬盘,以E盘为例,在E盘中创建一个新的文件夹,命名为“xls”。
4)将需要合并的csv文件或xls文件放到文件夹中。
5)双击合并.bat,工具会自动运行合并任务,速度相当快,不过多少个文件,几秒钟就搞定。
6)查看xls文件夹,生成了一个合并文件all_keywords.csv,这样我们的excel合并工作就完成了。
注意:
①如果要合并xls文件的话,在代码中更改下后缀名就可以了。
②软件速度相当快,合并上万个excel文件也只要几秒钟的时间。比方法一宏计算更加快速哦。
对于处理excel数据,你还遇到过哪些问题,或者有什么更好的解决方法,欢迎留言告诉小编。