excel如何建立自己的自动化图表模板

作者&投稿:赞琬 (若有异议请与网页底部的电邮联系)

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-1a ChartUpdate图表更新-排序

排序的部分完全来自录制宏,然后修改排序区域获得,并不复杂,需注意Key1:=Range("C6"),此处是为首要排序基准。唯一有难度的是xRow变量,在此使用了[B65536].End(3).Row来赋值,这是为了和Excel 2003兼容,在Excel 2007/2010中,可以使用[B1048576].End(3).Row。

注:下述代码中凡涉及xRow变量的部分,一律使用红色字进行了高亮标注,请读者参考录制获得的代码进一步修改即可。

重置函数公式

接下来由于受到数据的最大行影响,“辅助”列的函数公式所在的单元格,及公式中的单元格引用均会不同,因此重置“辅助”列的函数公式便是需要考虑的内容。录制宏:选中“辅助”列的函数公式所在第一个单元格,鼠标指向编辑栏结尾处,按下键盘Ctrl+Enter组合键,向下拖曳复制函数到最大行。最终修改后的宏代码如下所示。

程序代码 片段:13.1-1b ChartUpdate图表更新-重置函数公式

图表设置及数据引用更新

由于在VBA代码的执行中,需要反复调用图表对象,所以在此处图表的设置和数据引用更新一并进行讲解。录制并修改后的宏代码如下所示。

程序代码 片段:13.1-1c ChartUpdate图表更新-图表设置及数据引用更新

注:在录制宏时,修改系列引用请使用[源数据]对话框,请勿直接修改SERIES公式,这会导致后期宏代码修改的难度增加。

后期整理

完成第3步操作后,就已经完成了13.1.1节分析的4个要点,但工作表上的数据表依然需要设置统一的外观样式,否则由于每次数据有多有少,这将严重影响美观。以下是录制并修改后的宏代码:

程序代码 片段:13.1-1d ChartUpdate图表更新-后期整理

复制工作表

接着新建一个工作簿,并将上述步骤处理的工作表复制进去,并删除表格上的辅助部分。以下是录制并修改后的宏代码:

程序代码 片段:13.1-2a SaveAs图表更新-复制工作表

保存新工作簿

最后是将新工作簿保存到指定位置,完成最终宏代码的编写。以下是录制并修改后的宏代码:

程序代码 片段:13.1-2b SaveAs图表更新-保存新工作簿

其他

最后是向工作表添加触发器,来触发VBA宏代码的执行,如图13.1-2所示。推荐的做法是使用工作表控件按钮,切勿使用窗体控件,窗体控件需要在工作表代码区编写相应代码,这会给新建工作表带来麻烦,因为使用VBA来删除这些代码相对较为复杂,这也是代码写在模块,而非工作表代码区的原因。

图13.1-2 使用工作表按钮驱动VBA宏代码

注:为了保证代码的兼容性,此处使用的按钮名称被重命名为“按钮1”。方法是单击鼠标右键,选中按钮,在编辑栏左侧编辑框中修改,见。图13.1-2右侧的Test Data数据区为调试代码的数据,因为函数公式会影响排序结果,所以请直接选取必要数据区域,复制并“选择性粘贴:值”到Chart Data数据区进行测试。




~

xcel仪表板创建Excel数据仪表盘报表百度经验excel学习网
答:这些部分是:1.数据–外部或手动输入的数据。2.处理-大多数计算都在此进行。3.演示文稿–观众看到的内容。4.控制-作者控制报告日期和其他设置的位置。对于大多数报告,将这些部分放在单独的工作表中很重要。这样做使您的报表更易于创建,更新,错误检查,修改和自动化。克里斯的工作簿就是这样做的。除了...

大数据的作用与价值有哪些呢?
答:7.提升机械设备性能 大数据使机械设备更加智能化、自动化。例如,丰田普锐斯配备了摄像头、全球定位系统以及强大的计算机和传感器,在无人干预的条件下实现自动驾驶。Xcel Energy在科罗拉多州启动了“智能电网”的首批测试,在用户家中安装智能电表,然后登录网站就可实时查看用电情况。“智能电网”还能够预测使...

大数据在生活中的典型应用有哪些
答:精准营销与个性化服务:在营销领域,大数据可以通过分析用户的各类数据,建立“用户画像”,从而进行个性化推荐、精准营销和广告投放。同时,电子商务企业可以利用大数据提供个性化服务,实时获得用户的在线记录,为他们提供定制化服务。社交媒体分析与智能客服:在社交媒体领域,大数据可以深入分析用户互动、浏览习惯和...

防窜货开发系统是什么?
答:1、通过物流码管理出入库,帮助品牌建立多层次的经销商网络,对各级经销商进行管理;2、箱子附上防窜码,通过终端零售商扫码的数据,反查追踪商品销售区域;3、防窜货由人工稽查转变成自动手机,建立品牌商自己的防窜货大数据;4. 降低企业成本。告别以往依赖线下对经销商进行稽查督导的渠道管控方式,在线实...

视频面试自我介绍
答:熟练使用office、wps办公自动化软件。自学html、frontpage、dreamweaver、fireworks、flash等网页制作相关软件。对于常用软件都能熟练使用。 工作上:曾担任院学生会成员、副班长等职,现任计算机系团总支组织部部长。多次组织系部、班级联欢会、春游等活动,受到老师、同学们的一致好评。 思想修养上:品质优秀,思想进步,笃守...

计算机办公软件有哪些
答:(4)办公网络基础 1、Microsoft Office系列,包括Word(文字处理)、Excel(电子表格)、Access(数据库)、Powerpiont(幻灯片)、Outlook(电子邮件),以及Microsoft的FrontPage(网页制作)、Noteone(笔记本)、Visio(画图)、SQL(Structured Quevy Language,结构化查询语言)等。(Microsof的软件技术比较成熟,比较流行)。 2、金山的...

企业应该如何使用大数据
答:大数据使机械设备更加智能化、自动化。例如,丰田普锐斯配备了摄像头、全球定位系统以及强大的计算机和传感器,在无人干预的条件下实现自动驾驶。Xcel Energy在科罗拉多州启动了“智能电网”的首批测试,在用户家中安装智能电表,然后登录网站就可实时查看用电情况。“智能电网”还能够预测使用情况,以便电力公司...

大数据在哪些方面可以发挥作用
答:大数据使机械设备更加智能化、自动化。例如,丰田普锐斯配备了摄像头、全球定位系统以及强大的计算机和传感器,在无人干预的条件下实现自动驾驶。Xcel Energy在科罗拉多州启动了“智能电网”的首批测试,在用户家中安装智能电表,然后登录网站就可实时查看用电情况。“智能电网”还能够预测使用情况,以便电力公司...

物流企业如何利用大数据?
答:大数据使机械设备更加智能化、自动化。例如,丰田普锐斯配备了摄像头、全球定位系统以及强大的计算机和传感器,在无人干预的条件下实现自动驾驶。Xcel Energy在科罗拉多州启动了“智能电网”的首批测试,在用户家中安装智能电表,然后登录网站就可实时查看用电情况。“智能电网”还能够预测使用情况,以便电力公司...

大数据有什么作用?
答:首先,大数据在商业领域中发挥着重要作用。通过对大数据的分析,企业可以更好地了解市场趋势、消费者需求和竞争对手的动态。这些信息可以帮助企业制定更加有效的营销策略,优化产品设计和提升客户满意度。同时,大数据也可以帮助企业进行风险管理和预测,从而降低经营风险,提高企业的竞争力。其次,大数据在医疗领域...