在使用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