VBA 创建透视表,录制宏,自动化报表

目录

  • [一. 数据准备](#一. 数据准备)
  • [二. 需求](#二. 需求)
  • [三. 准备好报表模板](#三. 准备好报表模板)
  • [四. 执行统计操作,录制宏](#四. 执行统计操作,录制宏)
    • [4.1 根据数据源创建透视表](#4.1 根据数据源创建透视表)
    • [4.2 填充数据到报表](#4.2 填充数据到报表)
    • [4.3 结束宏录制](#4.3 结束宏录制)
  • [五. 执行录制好的宏,自动化报表](#五. 执行录制好的宏,自动化报表)

一. 数据准备

⏹数据源1

姓名 学科 成绩
丁志敏 语文 91
李平平 语文 81
王刚 语文 64
张伊 语文 50
王松 语文 66
卢海军 语文 87
丁志敏 数学 52
李平平 数学 61
王刚 数学 74
张伊 数学 40
王松 数学 64
卢海军 数学 86
丁志敏 英语 61
李平平 英语 45
王刚 英语 67
张伊 英语 92
王松 英语 79
卢海军 英语 74

⏹数据源2

姓名 班级
丁志敏 一班
李平平 一班
王刚 一班
张伊 二班
王松 二班
卢海军 二班

二. 需求

数据源1和数据源2中的数据每个月都会更新,现在要求创建一个自动化报表,当数据源中的数据变化时,能自动将数据反映,并自动完成统计。

⏹数据处理的效果如下图所示


三. 准备好报表模板

⏹如下图所示,报表的模板的合计区域,先提前预埋好统计公式,为之后的录制宏做准备。


四. 执行统计操作,录制宏

⏹在开发工具选项卡,选择录制宏,指定好宏名称之后,开始录制。

宏开始录制之后,我们对Excel的所有操作都会被记录下来,由Excel自动转换为VBA代码。

4.1 根据数据源创建透视表

⏹数据源1中的数据较为分散,不利于统计汇总。

  • 我们可以根据数据源1中的数据创建数据透视表,方便统计。
  • 创建数据透视表的过程,如下图所示
  • 💥因为是在开启录制宏的状态下创建透视表,因此创建的过程也会被宏记录下来转换为VBA代码。

4.2 填充数据到报表

⏹根据姓名 ,使用VLOOKUP公式,从数据源1和数据源2中将班级和各个学科的成绩匹配到报表中。

⏹然后,下拉自动填充全部姓名相关的数据,因为数据都是通过公式填充的,最后再复制全部的数据,然后粘贴为值

4.3 结束宏录制

⏹将透视表,数据源1,数据源2sheet页中的数据清空之后,点击停止录制 ,结束宏的录制

🤔之所以要清空这些数据,是为了自动化考虑。这样下一次使用宏之前,无需手动清空上一次的数据源之后,然后再粘贴新的数据源了。


五. 执行录制好的宏,自动化报表

⏹如下图所示,点击 ,选择执行宏,就可以自动进行批量计算。

这样每次只需要更换数据源,执行一下宏,就可以自动完成计算了。

🧐上图中的计算过程中,页面有闪动效果。如果不想要看到,可以在对应宏的VBA代码中,加上下面这两行代码。

vbnet 复制代码
Excel.Application.ScreenUpdating = Fals
' 省略中间代码
Excel.Application.ScreenUpdating = True
相关推荐
信必诺1 天前
Excel 宏录制与VBA编程 ——VBA编程技巧篇一 (Union方法、Resize方法、Cells方法、UseSelect方法、With用法)
excel·vba
信必诺3 天前
Excel 宏录制与VBA编程 ——VBA编程技巧篇二 (合并内容相同连续单元格、取消合并单元格并在每个单元格中保留内容)
excel·vba
wuchunyu0023 天前
VBA 利用VBA查找Excel单元格内容备忘
vba
信必诺5 天前
Excel 宏录制与VBA编程 —— 12、文本字符串类型相关(转换、拆分、分割、连接、替换、查找、“Like“)
excel·vba
信必诺7 天前
Excel 宏录制与VBA编程 —— 15、MsgBox参数详解
excel·vba
信必诺9 天前
Excel 宏录制与VBA编程 —— 14、使用VBA处理Excel事件
excel·vba·事件
信必诺9 天前
Excel 宏录制与VBA编程 —— 12、工作簿相关操作
excel·vba
信必诺10 天前
Excel 宏录制与VBA编程 —— 13、Excel内置函数的调用
excel·vba
xwLink199613 天前
VBA学习(17):使用条件格式制作Excel聚光灯
excel·vba·vsto
maizeman1261 个月前
一个可以自动生成随机区组试验的excel VBA小程序2
小程序·excel·vba·育种·区域试验