巧妙复制多工作表到新工作表
2015-04-29
电脑迷 2015年1期
同事前来求助,希望对多张工作表的数据进行汇总,这些工作表的结构完全相同,只不过其中的数据有区别,需要将多张工作表的内容复制到一个新的工作表(如图1)。手工复制虽然可行,但工作量既大而且也容易遗漏,有没有简单一些的方法呢?利用VBA代码,可以完美解决这一问题。
按下“Alt+F11”组合键,打开Microsoft Visual Basic for Application编辑器窗口,依次选择“插入/模块”命令,在右侧窗格插入一个空白模块手工输入或粘贴如下代码(代码文件直接下载地址为http://pan.baidu.com/s/13taSQ):
Sub hebing()
Sheets.Add
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("A1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿的所有工作表已完成合并!", vbInformation, "提示"
End Sub
上述代码中的代码名、提示信息可以根据需要自行修改,检查无误之后,选择“文件→关闭并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”组合键,打开“宏”对话框,运行“hebing”宏,很快就可以看到合并效果(如图2)。