excel 如何建立自己的自动化图表模板
发布时间:2023-12-16 07:32:59
VBA是一般读者不愿过多接触和学习的内容,因为这个部分总是给人高深莫测之感。若要摆脱Excel图表制作中那些低效的大量重复作业,学习VBA宏代码就是一个必须要面对的问题。
办公室人员可能需要每周、每月都重复制作相同类型的图表,虽然Excel提供了图表的自定义模板和工作簿模板,但有时直接使用这些方法只能减少部分重复作业,通过使用VBA则可以大大简化这样的操作,我们需要的仅仅是用鼠标轻轻点击一下相应按钮即可。
我们是否对Excel图表制作中简单机械的重复工作痛恨不已?这些繁复的劳作不但消耗作图时间,而且会使我们对Excel图表制作的兴趣消耗殆尽。好了,如果这已经是一个必须要认真对待的问题,那么使用VBA来定制适合自己的工具集就变得再实用不过了。
除了自己动手来编写相应的VBA宏代码,其实我们也可利用Excel自带的分析加载项来制作相应的图表。此外,借助使用第三方工具集也是一个非常不错的方法。
注:虽然掌握VBA这个工具对于学习图表大有裨益,但并非必须。如果我们不打算对VBA进行更深入学习,本章的工具请直接拿来套用即可。
建立自己的自动化图表模板:面对周报、月报、年报中如出一辙的图表,我们还在日复一日、年复一年重复着这种燃烧激情和岁月的作业吗?如果回答是肯定的,我们是否想过,并且尝试去使用更加高效的方法,来实现这些简单、重复、低效的工作?如果没有,请不要再犹豫,马上行动起来,建立属于自己的自动化图表模板吧!
需求分析
Excel提供了自定义图表模板和工作簿模板,这样的操作虽然可以简化作业,但是在某些方面,依然不能有效地解决问题。如图13.1-1案例图表是非常典型的帕累托图表,如果仅是更新图表的数据,来重复使用这个图表,每次都必须要面对如下问题:
图13.1-1需重复使用的帕累托图
将数据从大到小排列;
重新设置“辅助”列的函数公式;
修改两个系列的引用数据区域大小;
调整数值纵轴的最大刻度和“数值”列的合计相同,计算并设置相应的主要刻度单位。
上述4项中,尤其第4项,使用VBA基本是最佳的选择,除此尚无最佳方案。作为模板应该可以直接另存为副本,且不包含任何多余的作图辅助内容。
使用VBA来演练
通过13.1.1节的分析,要完成图13.1-1的案例的VBA自动化图表更新,我们将通过以下步骤来进行学习:
数据排序
一般而言,我们制作帕累托图表的首要工作就是将数据从大到小排列,在图13.1-1的案例中使用的是自动筛选功能,其实也可直接使用按钮来完成。以下是这个部分的宏代码:
程序代码片段:13.1-1aChartUpdate图表更新-排序
排序的部分完全来自录制宏,然后修改排序区域获得,并不复杂,需注意Key1:=Range("C6"),此处是为首要排序基准。唯一有难度的是xRow变量,在此使用了[B65536].End(3).Row来赋值,这是为了和Excel 2003兼容,在Excel 2007/2010中,可以使用[B1048576].End(3).Row。
注:下述代码中凡涉及xRow变量的部分,一律使用红色字进行了高亮标注,请读者参考录制获得的代码进一步修改即可。
重置函数公式
接下来由于受到数据的最大行影响,“辅助”列的函数公式所在的单元格,及公式中的单元格引用均会不同,因此重置“辅助”列的函数公式便是需要考虑的内容。录制宏:选中“辅助”列的函数公式所在第一个单元格,鼠标指向编辑栏结尾处,按下键盘Ctrl+Enter组合键,向下拖曳复制函数到最大行。最终修改后的宏代码如下所示。
程序代码片段:13.1-1bChartUpdate图表更新-重置函数公式
图表设置及数据引用更新
由于在VBA代码的执行中,需要反复调用图表对象,所以在此处图表的设置和数据引用更新一并进行讲解。录制并修改后的宏代码如下所示。
程序代码片段:13.1-1cChartUpdate图表更新-图表设置及数据引用更新
注:在录制宏时,修改系列引用请使用[源数据]对话框,请勿直接修改SERIES公式,这会导致后期宏代码修改的难度增加。
后期整理
完成第3步操作后,就已经完成了13.1.1节分析的4个要点,但工作表上的数据表依然需要设置统一的外观样式,否则由于每次数据有多有少,这将严重影响美观。以下是录制并修改后的宏代码:
程序代码片段:13.1-1dChartUpdate图表更新-后期整理
复制工作表
接着新建一个工作簿,并将上述步骤处理的工作表复制进去,并删除表格上的辅助部分。以下是录制并修改后的宏代码:
程序代码片段:13.1-2aSaveAs图表更新-复制工作表
保存新工作簿
最后是将新工作簿保存到指定位置,完成最终宏代码的编写。以下是录制并修改后的宏代码:
程序代码片段:13.1-2bSaveAs图表更新-保存新工作簿
其他
最后是向工作表添加触发器,来触发VBA宏代码的执行,如图13.1-2所示。推荐的做法是使用工作表控件按钮,切勿使用窗体控件,窗体控件需要在工作表代码区编写相应代码,这会给新建工作表带来麻烦,因为使用VBA来删除这些代码相对较为复杂,这也是代码写在模块,而非工作表代码区的原因。
图13.1-2使用工作表按钮驱动VBA宏代码
注:为了保证代码的兼容性,此处使用的按钮名称被重命名为“按钮1”。方法是单击鼠标右键,选中按钮,在编辑栏左侧编辑框中修改,见。图13.1-2右侧的Test Data数据区为调试代码的数据,因为函数公式会影响排序结果,所以请直接选取必要数据区域,复制并“选择性粘贴:值”到Chart Data数据区进行测试。
excel 如何建立自己的自动化图表模板的下载地址:
猜你喜欢
- 很多小伙伴都在使用Win10系统,随着版本的不断更新,现在很多用户都想更新到Win10 20H2,但是不知道具体应该怎么操作。下面小编就给大
- 本来我们今天要为大家讲在word2019中如何进行文本对齐的,结果看了一下教案,我相信大家都会,这里就不再讲述了,直接为大家讲word201
- word怎么设置大气梦幻的封面图?word中设计封面图很简单,今天我们就来看看使用word设计一款梦幻科技感的封面图的教程,需要的朋友可以参
- WORD长文档中,经常含有很多表格。有时候,我们需要把这些表格删除。当然,我们可以一个一个的选中再删除,但,如果你的文档中的表格很多,或是表
- 如何通过Word2003制作日历有时候很多场合会应用到日历,人们也希望自己动手制作一个日历,那么如何通过word2003来打造自己的日历呢,
- 现在有非常多的用户都在使用Word文档,而我们在使用word文档的时候,分页符能够让版面看起来更有序,但很多用户还不清楚要如何去进行添加,那
- 在给学生讲Excel表格时,很多学生感觉到它很难。问我可不可以把我讲课的内容录制下来,让他们拿回家再多看几遍。我想可以用录像机把我讲课的内容
- 我们在利用Word编辑文档时,有时候需要在文档中插入图片。为了将其更好的融入到word文档中,我们需要将这些图片的纯色背景设置为透明的,那么
- 在使用Word办公或学习时,可以通过Word的页边距设置,来修改页面的页边距尺寸大小,那我们具体在哪里设置呢,Word页边距怎么设置,下面就
- Word 2007中的样式类型?Word 2007中有五种不同类型的样式-段落,字符,链接,表和列表-每种样式有不同的用途。段落:段落样式包
- 我们经常会使用电脑来外放一些音乐或者游戏的音效,但是最近有小伙伴在使用的时候发现声音即便已经开到最大,还是非常的小,那么遇到这种情况要怎么办
- 在打印Excel文档的过程中,明明是打印一张纸,但意外打印出了许多张纸。这是什么原因呢?原因一、打印线外有多余的框线如图所示:
- 在办公中经常会遇到这样的情况:A做了一份文档,需要发给B查看,修改,然后在返还给A,2个人经过探讨,最终完成一份报告交给领导审查在办公中经常
- 金山wps制作带圈数字字符、带圈文字的方法。可能很多网友在浏览文档的时候,都看过带圈的数字字符,不过,都+不知道怎么插入这样的带圈的数字字符
- 用鼠标选中需要处理的段落,右击所选段落,点击段落选项——特殊格式——首行缩进,度量值默认为2——确定即可!1、打开需要操作的WPS文档,选中
- 在Word2010文档窗口中可以设置页面显示比例,从而用以调整Word2010文档窗口的大小。显示比例仅仅调整文档窗口的显示大小,并不会影响
- Word排版时,无论是中文文字或英文都会默认自动断行。如果是中文文字断行,不会影响阅读。但是,如果是中英混排的文档。那么,当一行
- 通过设置,我们可以在Word中巧妙的实现双面打印,而不会出现乱码的情况。下面小编整理Word的使用技巧。希望大家通过造句的学习,能够掌握理解
- Word文件中怎么插入本地视频?word文件中需要插入本地视频,怎么插入呢?下面我们就来看看word本地视频的导入方法,很简单,需要的朋友可
- 大家在Word中使用MathType编辑公式时发现用编辑的公式会上浮,与正文不在一行,总是会偏上。本文介绍解决Word中公式上浮的方法。解决