Excel如何批量合并?

關于表格合并,一般會有3種情況:

(p.s:請注意工作簿跟工作表的區(qū)別

將一個 Excel 工作簿中的多個工作表合并成一個工作表

將多個 Excel 工作簿合并成一個工作簿

將多個 Excel 工作簿的工作表合并成一個工作表

下面分別根據(jù)3種情況進行詳細的步驟說明,請讀者根據(jù)自己的需要取用:

一、將一個 Excel 工作簿中的多個工作表合并成一個工作表

1、新建一個Excel工作薄,工作簿名稱任你定義。

2、打開此工作薄,將其中一個Sheet重命名為"匯總"。

3、在其下任一個工作表標簽上點擊右鍵,選擇“查看代碼”。

4、在打開的VBA編輯窗口中粘貼以下代碼:

Sub 合并工作簿內的多個Sheet到同一個Sheet()

Dim i, j As Integer 'i是數(shù)據(jù)源表的最后一行,j是目標表(數(shù)據(jù)表)的最后一行

Dim sht As Worksheet

Application.ScreenUpdating = False '關閉屏幕刷新

'先要刪除所有數(shù)據(jù)

Sheets("匯總").Range("a1:z65536").ClearContents

'復制數(shù)據(jù)

For Each sht In Sheets

If sht.Name <> "匯總" Then

i = sht.Range("d65536").End(xlUp).Row

j = Sheets("匯總").Range("d65536").End(xlUp).Row

sht.Range("a1:z" & i).Copy Sheets("匯總").Range("a" & j + 1)

End If

Next

MsgBox "執(zhí)行完畢!"

Application.ScreenUpdating = True '打開屏幕刷新

End Sub

5、關閉VBA編輯窗口。

6、在excel中,工具---宏---宏,選“合并工作簿的各個sheet到同一個sheet”,然后“執(zhí)行”。

7、等待...ok!

二、將多個 Excel 工作簿合并成一個工作簿

1、新建一個工作薄,將其命名為你合并后的名字。

2、打開此工作薄。

3、在其下任一個工作表標簽上點擊右鍵,選擇“查看代碼”。

4、在打開的VBA編輯窗口中粘貼以下代碼:

Sub 工作薄間工作表合并()

Dim FileOpen

Dim X As Integer

Application.ScreenUpdating = False

FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls*),*.xls*", 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

errhandler:

MsgBox Err.Description

End Sub

5、關閉VBA編輯窗口。

6、在excel中,工具---宏---宏,選“工作薄間工作表合并”,然后“執(zhí)行”。

7、在打開的對話窗口中,選擇你要合并的300個工作薄。

8、等待...ok!

三、將多個 Excel 工作簿的工作表合并成一個工作表

1、新建一個Excel工作薄,工作簿名稱任你定義。

2、打開此工作薄,將其中一個Sheet重命名為"匯總"。

3、在其下任一個工作表標簽上點擊右鍵,選擇“查看代碼”。

4、在打開的VBA編輯窗口中粘貼以下代碼:

Sub 多文件合并能夠自由選擇文件夾()

Dim arr()

Dim wb As Workbook

Dim sht As Worksheet

arr = Application.GetOpenFilename("Excel文件,*.xls*", 2, , , True)

Application.ScreenUpdating = False '關閉屏幕刷新

If arr(1) <> "False" Then

For i = LBound(arr) To UBound(arr)

Set wb = Workbooks.Open(arr(i))

For Each sht In wb.Sheets

'以下4行是殼內的命令,用于復制打開的工作簿

If InStr(sht.Name, "費用") > 0 Then

irow = sht.Range("A65536").End(xlUp).Row

irow1 = ThisWorkbook.Sheets("匯總").Range("A65536").End(xlUp).Row + 1

sht.Range("a1:z" & irow).Copy ThisWorkbook.Sheets("匯總").Range("a" & irow1)

wb.Close False '關閉工作簿并且不保存

End If

Next

Next

End If

MsgBox "執(zhí)行完畢!"

Application.ScreenUpdating = True '打開屏幕刷新

End Sub

5、指定要合并的Sheet。對“If InStr(sht.Name, "費用") > 0 Then”這段代碼中的"費用"修改,比如修改成"經(jīng)銷商",則包含“經(jīng)銷商”幾個文字的都會納入合并

6、關閉VBA編輯窗口。

7、在excel中,工具---宏---宏,選“多文件合并能夠自由選擇文件夾”,然后“執(zhí)行”。

8、在打開的對話窗口中,選擇你要合并的幾個工作薄文件。

9、等待。。。。ok!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容