这个表我刚刚不是已经复制了吗?
啊呀,这两个表长得太像,我又粘错了。
粘了一下午,忘记保存,得了,全部重来吧。
我刚刚的汇总数据到哪去了?怎么找不到了呢?
……

大家在工作中有没有因为要统计数据而遇到过上面的这些问题呢?

面对月度、季度、年度各种各样的表单数据,一次次重复着复制粘贴操作的你,是否觉得人生无趣呢?

今天,我们将会带领大家,一键汇总

那么如何实现呢?下面就给大家一步步讲解。

1、新建-汇总表

首先,我们在Excel中创建一个Sheet,将其命名为“汇总表”。

汇总表用于存放我们需要汇总的所有表单数据。

然后,右击汇总表,查看代码,进入VBE界面。

双击Sheet3(汇总表) ,进入代码窗口。

2、核心-For

我们这个功能的核心,就是要让系统代替我们,自动把所有的表单都看一遍,然后再帮助我们复制粘贴。

那么,怎么让系统把所有的表单都看一遍呢?这时我们就需要用到之前学过的For循环语句了。(对于For循环不太了解的朋友,可以下面查看这篇文章)

数据大作手:VBA-从一而终For循环​zhuanlan.zhihu.com

对应代码如下:

For i=1 to Sheets.Count

Sheet,是一种对象,意思是表单,即我们常看到的Sheet1,Sheet2……

Count是对象Sheet的一种属性,表示对象的个数。

这里的Sheets.Count,指的就是表单的数目。

(对于“对象”和“属性”概念不太清楚的朋友,可以查看这篇文章)

数据大作手:写VBA代码前你所需要掌握的概念(上)​zhuanlan.zhihu.com

For i=1 to Sheets.Count 这句代码,就是从第一张Sheet开始,循环到最后一张Sheet.

3、判断-If

接着,我们需要让系统把汇总表和其他表单区别开来。

如果当前的表单不是汇总表,就把表单的内容复制粘贴到汇总表;

如果当前的表单是汇总表,就不做任何操作。

(对于If 判断不太了解的朋友,可以查看这篇文章。)

数据大作手:系统居然向我自动问好?2个小技巧轻松实现​zhuanlan.zhihu.com

对应代码如下:

If Sheets(i).Name <> "汇总表"

Then ……

End If

Sheet,是一种对象,意思是表单,上面我们介绍过了。

Count是对象Sheet的一种属性,表示对象的名称。

Sheets(i).Name就是第i张表单的名称。

<>是不等于的意思,相当于数学里的不等号≠。

4、操作-宏

接下来,我们怎么把其他表单里的数据粘贴到汇总表里呢?

我们主要通过录制宏的方式实现该功能。(对于录制宏不太了解的朋友,可以查看这篇文章。)

数据大作手:高效学习VBA的4大技巧,打破从入门到放弃的循环​zhuanlan.zhihu.com

下图是录制宏的示例操作。

在这里,我们还需要知道每个Sheet表的数据源大小。

通过以下代码实现:

j = Sheets(i).Range("A65536").End(xlUp).Row + 1'取每张表的最后一行的值。

Sheets(i).Range("A2:M" & j).Copy'复制每张表的数据,第一行是标题,不需要复制进去。

这里的Range是一种对象,意思是单元格区域。

代码中的其他内容,我们会在之后的学习过程中进行具体讲解。

5、调用

代码编辑好之后,我们该如何调用它呢?

我们在"开发工具"-"插入"中,选择"按钮控件"。

在汇总表上,进行拖动,画出一个按钮。

双击按钮,在弹出的对话框中,选择刚才建立的VBA代码,即"Sheet3_汇总表",实现

代码的调用。

6、运行

最终的运行情况如下图所示。

相应的代码如下:

Sub 汇总表()
Dim i, X, j As Integer
For i = 1 To Sheets.CountIf Sheets(i).Name <> "汇总表" Thenj = Sheets(i).Range("A65536").End(xlUp).RowSheets(i).Range("A2:M" & j).CopyX = Sheets("汇总表").Range("A65536").End(xlUp).Row + 1Sheets("汇总表").Range("A" & X).SelectActiveSheet.PasteEnd If
Next
End Sub

本篇栗子涵盖了之前学习的内容,相对来说比较综合,大家可以多练习下。

看完三件事:

1.点赞,让更多的人也能看到这篇文章(收藏不点赞,都是耍流氓)

2.关注我和我的专栏,让我们共同成长

3.关注公众号"数据大作手",定期分享数据分析方面的干货

感谢你的支持!

所有表单对象_表单太多汇总太累?请看这里,我们带你一键汇总相关推荐

  1. access表怎么生成表结构_数据结构——单链表讲解

    单链表 单链表的创建分为头插入法和尾插入法两种,两者并无本质上的不同,都是利用指针指向下一个结点元素的方式进行逐个创建,只不过使用头插入法最终得到的结果是逆序的. 1.单链表概念&设计 单链表 ...

  2. 所有表单对象_【第十课】常见的表单

    前言 从零开始学前端系列课程,与传统的视频大课堂教学不同,没有填鸭:也普通做练习题的方式不同,没有假想的模拟题. 本课程拆出80个左右必须掌握的技能点,并对其分组,从易到难地列出学习曲线.同时从真实项 ...

  3. 所有表单对象_Laravel 表单方法伪造与 CSRF 攻击防护

    1.表单方法伪造 有时候,我们可能需要手动定义发送表单数据所使用的 HTTP 请求方式,而 HTML 表单仅支持 GET 和 POST 两种方式,如果要使用其他的方式,则需要自己来定义实现. HTTP ...

  4. mysql表结构设计_表结构设计

    持续更新... 用户表 create table NHSD_User(Id nvarchar(25) default(newid()) primary key not null,Phone int,- ...

  5. 大数据_Hbase-API访问_Java操作Hbase_数据操作_命名空间创建_表创建_表查询---Hbase工作笔记0013

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 我们上一节判断了某个表是否存在,然后我们这次来接着操作数据 可以看到上面我们判断了某个表是否存在 ...

  6. mysql按照省市给表分区_表分区-partition

    partition分区: 设置分区限制,t0:1-10,t1:10-20,t2:20-最大值: 插入数据后可以看到topic表出现了t0.t1.t2: 按照散点值分区: 创建地区表: 建立会员表,根据 ...

  7. java 表驱动_表驱动法编程(数据驱动)

    所谓表驱动法(Table-Driven Approach),简单讲是指用查表的方法获取值. 我们平时查字典以及念初中时查<数学用表>找立方根就是典型的表驱动法.在数值不多的时候我们可以用逻 ...

  8. 大数据_Hbase-API访问_Java操作Hbase_数据操作_表删除_表获取所有数据---Hbase工作笔记0014

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这一节,我们先去复习一下,上一节的,对数据的操作,然后再接着看 https://download. ...

  9. Excel快速合并多个sheet表(简单高效)快速合并多个excel请看上期内容

    工作中遇到excel中有多个sheet上万条数据怎么办,哦可以复制粘贴,不,大神都不是这么干的只需要一串代码就搞定,让我们来看看吧!!! 第一步:打开我们需要的表格.可以看到我们这里是有多个sheet ...

最新文章

  1. win7系统Myeclipse下切换SVN用户
  2. python外星人入侵游戏代码大全-Python外星人入侵游戏开发—重构键盘鼠标响应代码...
  3. php序列化中文,详解之php反序列化
  4. anaconda对应python版本_Python基础——如何查看python版本、如何查看多个python版本
  5. python日期迭代_计算敏捷项目中迭代时间安排(Python3版)
  6. Hibernate命名查询示例 - @NamedQuery
  7. websocket传输数据大小限制_WebSocket基础知识笔记
  8. java printf
  9. 视频解码芯片GM7150BC功能CVBS转BT656/601低功耗替代TVP5150
  10. AcrGIS 做成本距离分析时提示ERROR 999999:无法启动配置 RasterCommander.ImageServer
  11. 三星android文件传输,三星手机怎么连接电脑?三星手机连接电脑传输文件教程...
  12. 数字标签转化为one-hot形式的tensor
  13. NetBeans 尚未部署该模块错误 解决方案
  14. 9. TCP拥塞控制
  15. 图像像素与数据量之间的关系
  16. 概率统计·样本及抽样分布【随机样本、抽样分布】
  17. SQL中delete和drop的区别
  18. 如何判断微信公众号是否二次开发(一)
  19. 【Simulation】2 Elements of Probability-双样本均值方差的讨论
  20. 第十一届蓝桥杯大赛软件类决赛 Python大学组

热门文章

  1. java cookie p3p_利用P3P实现单点登录和COOKIE的跨域读写
  2. python 类函数 成员函数_python内置函数类型,如何为新类型定义成员函数?
  3. 初一计算机第6单元,青岛出版社初中信息技术 七年级下册第二单元 第6课 海报设计 教学设计...
  4. python判断英文字母_python判断字符串是否包含字母
  5. Web性能测试篇:AB 压力测试
  6. 损失函数与代价函数区别
  7. Redis数据库的初步认识(二)-C/C++连接redis数据库
  8. 王者经典猎马技术之昨日重现
  9. 【VS开发】VS2010 MFC中控件、对话框等背景颜色动态修改的方法
  10. Android----View