您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 凉山分类信息网,免费分类信息发布

Excel多个工作簿合并到一个工作簿,3个方法任选

2019/8/13 9:29:42发布411次查看
工作中,多个工作簿的数据合并至一个工作溥中是最痛苦的,使用复制粘贴太耗费时间,还容易出错
今天教大家3个方法,轻松解决合并工作簿的问题
1、csv文件,使用bat代码法这种方法是有限制的,必须是csv格式的excel文件,很多公司软件里面导出的格式是这种的csv格式的就可以使用此方法
新建一个文本文档,然后输入代码copy *.csv 合并.csv,关闭保存重命名该文本文档,将文件的后缀txt更改成bat格式双击运行这个bat文件,便自动的生成了一个新的合并.csv文件合并的这个csv文件就把所有单个的汇聚在一块,如果首行都有标题行,可以进行筛选删除再处理。
2、普通excel文件,vba代码法上面的方法是对于csv格式的文件才能使用的,如果是普通的xls或xlsx格式的话,就不适用了,这个时候,可以使用vba代码法
新建一个工作表,然后在开发工具选项卡下,点击visualbasic,然后输入一段代码点击开发工具上方的宏,运行这段宏,便可以汇总所有的数据了
其中的代码如下:
sub 合并目录所有工作簿全部工作表()
dim mp, mn, aw, wbn, wn
dim wb as workbook
dim i, a, b, d, c, e
application.screenupdating = false
mp = activeworkbook.path
mn = dir(mp & \ & *.xls)
aw = activeworkbook.name
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 sheets.count
if sheets(i).range(a1) then
wb.sheets(i).range(a1).resize(1, sheets(i).usedrange.columns.count).copy .cells(1, 1)
d = wb.sheets(i).usedrange.columns.count
c = wb.sheets(i).usedrange.rows.count - 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
application.screenupdating = true
msgbox 共合并了 & a & 个工作薄下全部工作表。如下: & chr(13) & wbn, vbinformation, 提示
end sub
3、使用pq方法(适用于excel2016及以上)pq法不需要使用长长的代码,制作的过程如下
在数据选项卡下,新建查询,从文件,从文件夹,选中存放数据的文件夹,加载编辑在弹出的pq查询器中,添加列,自定义列,输入公式:excel.workbook([content],true)在弹出的自定义列中进行筛选,只选择data继续筛选,这次所有的列都进行保留在菜单中,关闭并上载至excel表格,删除不需要的数据区域即可
下次再遇到需要合并工作簿的时候,不用去复制粘贴了,这3个方法,你更喜欢用哪个方法呢?动手试试吧~

凉山分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录