原文章地址:https://www.cnblogs.com/gis-laozhang/p/6923591.html
應(yīng)用場景:
有很多張excel,而且excel表里面的結(jié)構(gòu)基本一樣,如何快速將這些excel合并在一個excel頁面,便于后期分析和統(tǒng)計。
技術(shù)實現(xiàn):
利用excel表的宏計算實現(xiàn)。
具體操作
- 把多個excel表都放在同一個文件夾里面,并在這個文件夾里面新建一個excel;
- 用microsoft excel打開新建的excel表,并右鍵單擊sheet1,找到“查看代碼”,單擊進(jìn)去;
- 然后我們把下面這些宏計算的代碼復(fù)制進(jìn)去,然后找到工具欄上面的“運行”下的“運行子過程/用戶窗體”
代碼如下
sub 合并當(dāng)前目錄下所有工作簿的全部工作表()
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