excel表格中怎么把几个表格汇总在一起?一共12个这样的表格,哪位大侠帮帮忙吧!!
展开全部
在工作中有时会遇到数据合并的问题,需要将当前工作簿中的全部工作表合并在一起。通常的做法是先新建一个空白的工作表,然后依次将有数据的工作表中的内容复制后,按顺序粘贴到这个空白的工作表中。如果工作表的数量较多,手工操作就会非常慢。
我们可以通过建立一段宏代码,将上面操作自动完成。
按ALT+F11调出VBA窗口,插入一个模块,然后把下面的代码复制进去。
Sub 合并工作表()
Set NewSheet = Sheets.Add(Type:=xlWorksheet) '生成一个新表
Sheets(NewSheet.Index).Move Before:=Sheets(1) '将此新表移动到最前面
For i = 2 To Worksheets.Count
Sheets(i).UsedRange.Copy NewSheet.Cells([a65536].End(xlUp).Row + 2, 1) '将其他表的已使用区域复制到新表中
Next i
MsgBox "合并完成"
End Sub
这段代码很简单,其中第四行中用FOR循环得到当前工作簿中的所有工作表,第五行中使用UsedRange得到每个工作表的“已使用区域”,然后用copy方法把这些“已使用区域”中的内容复制到新建工作表中。
语句Cells([a65536].End(xlUp).Row + 2, 1)的作用是得到新建工作表的A列中的最后空白单元格(即要在哪个位置粘贴),加2的作用是使每次复制数据间隔2行空格。
回到EXCEL窗口,执行“工具-宏-宏”中的“合并工作表”宏就会自动合并工作表了。
我们可以通过建立一段宏代码,将上面操作自动完成。
按ALT+F11调出VBA窗口,插入一个模块,然后把下面的代码复制进去。
Sub 合并工作表()
Set NewSheet = Sheets.Add(Type:=xlWorksheet) '生成一个新表
Sheets(NewSheet.Index).Move Before:=Sheets(1) '将此新表移动到最前面
For i = 2 To Worksheets.Count
Sheets(i).UsedRange.Copy NewSheet.Cells([a65536].End(xlUp).Row + 2, 1) '将其他表的已使用区域复制到新表中
Next i
MsgBox "合并完成"
End Sub
这段代码很简单,其中第四行中用FOR循环得到当前工作簿中的所有工作表,第五行中使用UsedRange得到每个工作表的“已使用区域”,然后用copy方法把这些“已使用区域”中的内容复制到新建工作表中。
语句Cells([a65536].End(xlUp).Row + 2, 1)的作用是得到新建工作表的A列中的最后空白单元格(即要在哪个位置粘贴),加2的作用是使每次复制数据间隔2行空格。
回到EXCEL窗口,执行“工具-宏-宏”中的“合并工作表”宏就会自动合并工作表了。
参考资料: http://apps.hi.baidu.com/share/detail/18803660
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询