将多张excel表格合并成一个表格

原文章地址:https://www.cnblogs.com/gis-laozhang/p/6923591.html

应用场景:

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

技术实现:

利用excel表的宏计算实现。

具体操作

  • 把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel;
  • 用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去;
  • 然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”
代码如下
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

你可能感兴趣的:(将多张excel表格合并成一个表格)