在使用Excel 時,我們經常需要將多個工作表或工作簿合並到一個工作表中,這樣我們就能快速地對數據進行分析和統計。對於一般用戶而言,除了復制每個工作表后再粘貼,沒有其他什么方法了。如果只是合並少數幾個工作表,這個方法很簡單;如果要合並大量的工作表,這個方法非常耗時。現在,我們談談其他快速合並工作表或工作簿的方法。
下面的VBA 代碼能幫你把當前工作簿里各個工作表里的數據合並到一個新工作表里。同時需要注意的是,所有工作表里的數據結構,列標題,以及各列排列的順序都必須一樣。操作如下:
1. 按住Alt + F11鍵打開 Microsoft Visual Basic for Applications窗口。
2. 點擊插入 >> 模塊,再將下面的代碼粘貼到模塊窗口里。
VBA:將當前工作簿里各個工作表里的數據合並到一個新工作表里
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Sub
Combine()
Dim
J
As
Integer
On
Error
Resume
Next
Sheets(1).
Select
Worksheets.Add
Sheets(1).Name =
"Combined"
Sheets(2).Activate
Range(
"A1"
).EntireRow.
Select
Selection.Copy Destination:=Sheets(1).Range(
"A1"
)
For
J = 2
To
Sheets.Count
Sheets(J).Activate
Range(
"A1"
).
Select
Selection.CurrentRegion.
Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).
Select
Selection.Copy Destination:=Sheets(1).Range(
"A65536"
).
End
(xlUp)(2)
Next
End
Sub
|
3. 按F5 鍵運行代碼。運行后,當前工作簿里的數據都被並合並到一個名為 Combine的新 工作表中 , 並列在所有工作表前面。
注意:
(1) 數據必須從單元格A1開始,否則代碼無效。
(2) 所有的工作表數據必須布局一致。
(3) 此代碼只能合並當前工作簿里的工作表,如果想要合並多個工作簿里的工作表,此代碼無效。
4. 保存文件為xlsm格式以便保存代碼
http://www.extendoffice.com/documents/excel/zh-cn-excel/2800-excel-merge-multiple-worksheets-into-one.html