利用VBA代码快速合并多个工作表到一个工作表
提示:在同一个工作簿中有多个工作表,想汇总成一人工作表该如何操作,一种方法是用Power Query来实现,另外一种是我今天要讲的,用VBA代码来实现,我个人理解也就是会不会套用代码的问题。
第一步 打开需要合并的工作簿文件,新建一个同结构的工作表。并且命名,这个名字要与代码中的名字相符,所以不要搞特殊,简单明了便可。
第二步 打开“合并“工作簿后,打开【开发工具】-选择【visual basic】-插入新模块
第三步 将代码复制进新建的模块中,灵活修改标粗的地方,要确定工作表名和引用的范围,会套用就可以。关于VBA代码知识自已另外学习吧!
Sub hebing()
'把各分表中的记录合并到"就业情况汇总"工作表中 '这个名称要看自已的汇总表是什么名称。
Dim sht As Worksheet
Set sht = Worksheets("就业情况汇总") '将工作表名变更成自已的,与下面的一样
sht.Rows("2:65536").Clear '删除成绩表中的原有记录
Dim wt As Worksheet, xrow As Integer, rng As Range
For Each wt In Worksheets '循环处理工作簿中的每张工作表
If wt.Name <> "就业情况汇总" Then '将工作表名变更成自已的,与上面的一样
Set rng = sht.Range("A1048576").End(xlUp).Offset(1, 0)
xrow = wt.Range("A1").CurrentRegion.Rows.Count - 1
wt.Range("a2").Resize(xrow, 18).Copy rng
'此行代码是用来确定获取目标值区域的范围,
'a2"代表数值表中的A2单元格,从这里开’’'’始扩展,
'"18"代表从A列至R列有多少列,共18列。通过设定可灵活获取数据,并不是将整个表的数据都引过来。
End If
Next
End Sub
双击进入模块中,将上面的代码放进去运行调试。
第三步,瞬间数据都放在同一张表了。此法是最快的。值得推推荐大家使用。
在汇总表中插入一个按钮,并且关连好宏就更好了!