在由多個工作簿合并到一個工作表之前,我們先把多個工作簿合并到一個工作簿。
1、新建一個工作薄,將其命名為合并后的名字,例如叫做:匯總工作簿。
2、打開此工作簿:“匯總工作簿”
3、在“匯總工作簿”下任一個工作表標簽上點擊右鍵,選擇“查看代碼”。
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、關閉該VBA編輯窗口
6、在Excel中,開發工具---宏,選“工作薄間工作表合并”,然后“執行”。(添加開發工具方法:打開excel-文件-選項-自定義功能區-開發工具前打√)
7、在打開的對話窗口中,選擇你要合并的多個工作薄。
8、等待運行。而后就OK了。
9、打開名為“匯總工作簿”的Excel文件,我們就能看到多個其他工作簿以多個Sheet頁的形式合并到了這一個工作簿中。
在“匯總工作簿”工作簿中,有很多個Sheet頁,我們的最終目的是把這多個Sheet頁合并到一個Sheet頁的多行。其操作辦法如下:
1、在“匯總工作簿”中,新建一個sheet頁。
2、在新建的sheet標簽上單擊右鍵,選擇“查看代碼”
3、在打開的VBA編輯窗口中粘貼以下代碼:
Sub 合并當前工作簿下的所有工作表()
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 "當前工作簿下的全部工作表已經合并完畢!", vbInformation, "提示"
End Sub
4、關閉該VBA編輯窗口
5、在Excel中,開發工具---宏,選“合并當前工作簿下的所有工作表”,然后“執行”。
6、等待運行,而后就OK了。