vba把多个表汇总到一起(vba汇总多个工作表指定区域)

一、情况

某公司有全国不同城市的人员销售数据,该数据为员工姓名、工号、销售数量以及销售金额,每一个城市一个工作表,年底了,老板叫你,把全国的数据按不同城市的销售数据都汇总到一个表格中,方便查阅分析。

       

全国不同城市的销售数据

二、最终效果

在一个汇总的工作表中,表头为城市、销售数量和销售金额,汇总数据分别按每一个sheet的合计数来汇总,在城市这一列中分别为每一个工作表的名称,如北京,销售数量、销售金额为工作表名称为北京的销售数量、销售金额的合计数

       

最终数据汇总效果图

三、思路分析

①首先对数据表进行特征分析,其存在的特征如下:

1.表头一致:都是城市、销售数量、销售金额

2.最后一行为合计行:销售数量和销售金额的合计数在最后一行

3.每个工作表的数据行数不一样

②汇总方法选择

传统的Excel技巧和函数已经不能够满足本次汇总的需要,复制粘贴不用想,效率低下,且工作量大;如果要追求效率,应该选择VBA编程方法!

③编程思路分析

1.“城市”列:为工作表名称,用for循环然后调用sheet.name即可

2.“销售数量”/“销售金额”列:获取合计数,也就是该列的最后一个非空单元格,可以运用Range("C65536").End(xlUp)方式

四、教程方法

1.打开上述表格,新建一个名称为“汇总”的工作表作为汇总

2.快捷键Alt F11打开VBA编辑器

3.插入—模块—复制如下代码—运行代码

Sub 一键汇总数据()
Dim i, x As Integer
For i = 2 To Sheets.Count
Cells(i, 1) = Sheets(i).Name
x = Sheets(i).Range("C65536").End(xlUp).Row
Cells(i, 2) = Sheets(i).Cells(x, 3)
Cells(i, 3) = Sheets(i).Cells(x, 4)
Next
End Sub
   

五、代码解释

Dim i, x As Integer【定义两个整形变量,i用于工作表数量计数,x用于获取某列最后一个非空单元格】

For i = 2 To Sheets.Count 【for循环,遍历所有工作表(除了汇总之外)】

Cells(i, 1) = Sheets(i).Name【获取工作表名称】

x = Sheets(i).Range("C65536").End(xlUp).Row【找到最后一个非空单元格的行号并复制给x】

Cells(i, 2) = Sheets(i).Cells(x, 3)【获取销售数量的合计数】

Cells(i, 3) = Sheets(i).Cells(x, 4)【获取销售金额的合计数】

Next 【结束循环】

六、总结

本案例只列举了数十个工作表,但是上百个的工作表数据汇总原理一样,工作表的数量不影响,大家可以自己新建多个工作表,然后生成一些模拟数据来操作一下。不要再复制粘贴了,会手软的哈,希望此文能够帮到那些经常需要统计数据的苦力吧!

更多的Office技巧请继续关注头条号:恒哥说Office,持续为你分享Word、Excel、PPT等软件操作!让你工作效率6到飞起!
(0)

相关推荐

  • 如何利用Excel2010的"切片器"功能查看透视表中明细数据不切换筛选或工作表方法

    利用Excel2010的“切片器”功能,你可以快捷查看数据透视表中的某项明细数据,而不用切换工作表或进行筛选操作。 1、启动Excel2010,打开相应的工作簿文档。 2、选中数据透视表中任意一个单元 ...

  • excel2007工作表标签不见了该怎么办? excel显示工作表标签的教程

    打开excel2007发现底部的工作表标签不见了,如下图显示,底部只能看见滚动条,平常显示的sheet1.sheet2.sheet3都不见了,编辑工作表的时候很不方便,那怎么找回来呢,看看下面如何操作 ...

  • excel工作表保护忘记密码了怎么办(电子表格工作表保护忘记密码)

    一个特别注重信息保护的人,一般稍微重要点的工作表都会设上密码.但忘记了自己工作表设置的密码咋办呢?其实这个情况在我们大多数人身上都会发生,学了今天这招就不用再担心忘记工作表密码怎么办了!如图,我们先给 ...

  • excel怎么使用vba一键隐藏所有工作表?

    excel中使用vba一键隐藏所有工作表 1.首先我们打开一个工作样表作为例子. 2.使用alt+f11组合键打开vbe编辑器,新建一个模块,在模块编辑窗中输入以下代码: Option Explici ...

  • 隐藏地Excel工作表的方法介绍

    在Excel中,通常隐藏工作表的操作方法如下: 把需要隐藏的工作表激活成当前工作表,执行一下“格式→工作表→隐藏”命令,即可将其隐藏起来。 这样隐藏的工作表,通过执行“格式→工作表→取消隐藏”命令,打 ...

  • excel如何快速把多个工作表合并到一个excel表

    有这么一种情况,就是我们有很多张excel,而且excel表里面的公式基本一样,我们就想快速的把这些excel合并在一起,意思在合并在一个excel页面,这样可以方便我们分析和统计,那么excel如何 ...

  • 隐藏地Excel工作表 你别想取消

    在Excel中,通常隐藏工作表的操作方法如下: 把需要隐藏的工作表激活成当前工作表,执行一下“格式→工作表→隐藏”命令,即可将其隐藏起来。 这样隐藏的工作表,通过执行“格式→工作表→取消隐藏”命令,打 ...

  • Excel工作表中怎么添加图形

    向Excel工作表中手动插入图形对象是十分方便的,如果需要向工作表中插入大量图形,或是对绘制的图形对象大小和位置有很准确的要求,用手工绘制的方法就不太方便了.此时可以通过VBA程序来进行图形对象的绘制 ...

  • Excel工作表拆分合并技巧

    对Excel工作表执行拆分合并操作是日常办公的基本技能,学会灵活应用Excel的基础功能实现工作表的拆分合并操作,对于提高工作效率.提高数据分析和综合的自动化具有及为重要的意义.下面小编就为大家讲解一 ...