前言
在日常工作過程中,我們有可能需要把多個(gè)Excel工作簿的內(nèi)容匯總到一張Excel工作表中鳄梅。如果通過復(fù)制粘貼的方式也并不是不可行叠国,只是會(huì)浪費(fèi)大量的時(shí)間和人力。在這樣的情況下戴尸,我們一起討論一種可以比較方便和快捷的進(jìn)行多個(gè)工作簿合并成一個(gè)工作表的工作粟焊。這樣我們可以分成兩步去操作:首先:多個(gè)工作簿合并到一個(gè)“匯總工作簿”;其次:將這個(gè)“匯總工作簿”中的工作表進(jìn)行合并孙蒙,合并成一個(gè)工作表
第一步:多個(gè)工作簿合并到一個(gè)工作簿
在由多個(gè)工作簿合并到一個(gè)工作表之前项棠,我們先把多個(gè)工作簿合并到一個(gè)工作簿。
1挎峦、新建一個(gè)工作薄香追,將其命名為合并后的名字,例如叫做:匯總工作簿坦胶。
2透典、打開此工作簿:“匯總工作簿”
3、在“匯總工作簿”下任一個(gè)工作表標(biāo)簽上點(diǎn)擊右鍵迁央,選擇“查看代碼”罩扇。
4攒霹、在打開的VBA編輯窗口中粘貼以下代碼:
Sub 工作薄間工作表合并()
Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(.xlsx),.xlsx", MultiSelect:=True, Title:="合并工作薄")
X = 1
While X <= UBound(FileOpen)
Workbooks.Open Filename:=FileOpen(X)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
X = X + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
errhadler:
MsgBox Err.Description
End Sub
5、關(guān)閉該VBA編輯窗口
6搞糕、在Excel中钙皮,開發(fā)工具---宏,選“工作薄間工作表合并”,然后“執(zhí)行”蜂科。
7、在打開的對(duì)話窗口中短条,選擇你要合并的多個(gè)工作薄导匣。
8、等待運(yùn)行茸时。而后就OK了贡定。
9、打開名為“匯總工作簿”的Excel文件可都,我們就能看到多個(gè)其他工作簿以多個(gè)Sheet頁的形式合并到了這一個(gè)工作簿中缓待。
第二步:多個(gè)工作表合成一個(gè)工作表
在“匯總工作簿”工作簿中,有很多個(gè)Sheet頁渠牲,我們的最終目的是把這多個(gè)Sheet頁合并到一個(gè)Sheet頁的多行旋炒。其操作辦法如下:
1、在“匯總工作簿”中签杈,新建一個(gè)sheet頁瘫镇。
2、在新建的sheet標(biāo)簽上單擊右鍵,選擇“查看代碼”
3铣除、在打開的VBA編輯窗口中粘貼以下代碼:
Sub 合并當(dāng)前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "當(dāng)前工作簿下的全部工作表已經(jīng)合并完畢谚咬!", vbInformation, "提示"
End Sub
4、關(guān)閉該VBA編輯窗口
5通孽、在Excel中序宦,開發(fā)工具---宏,選“合并當(dāng)前工作簿下的所有工作表”,然后“執(zhí)行”。
6背苦、等待運(yùn)行互捌,而后就OK了。
結(jié)語
我們上面提到的是如何使用VBA來實(shí)現(xiàn)多個(gè)工作簿合成一個(gè)工作簿以及一個(gè)工作簿中的多個(gè)工作表按行合并行剂。
上面的方法是在知乎上摘錄的秕噪,
提姆葉提供了工作簿的合并;
Anson提供了同一個(gè)工作簿中的工作表按行合并的方法厚宰。
另外腌巾,我還在知乎上看到一個(gè)辦法,就是雷公子提供的用PowerQuery動(dòng)態(tài)匯總文件夾下的多個(gè)Excel文件铲觉。鏈接如下:https://zhuanlan.zhihu.com/p/26164792 澈蝙。但是由于我個(gè)人并沒有嘗試過使用PowerQuery去進(jìn)行合并,所以并不清楚這個(gè)效果如何撵幽。
總之這里是一個(gè)解決方法的匯總灯荧,如果有和我一樣有類似需求的小伙伴,可以嘗試用這邊的方法去解決這個(gè)問題盐杂。
以上~