电脑教程
位置:首页>> 电脑教程>> office教程>> Excel VBA设置图表动态数据源实例教程

Excel VBA设置图表动态数据源实例教程

  发布时间:2023-07-24 05:21:23 

标签:下拉,图表,数据,数据源,Excel函数

Excel图表的数据源通常为一个连续区域,但有时会遇到图表数据源区域不连续,且需要动态改变的情况。例如下面的某公司人员基本情况汇总表,B列为部门名称,C至S列分别为“性别”、“年龄”、“学历”、“职称”等不同类别数据的汇总,如果将这些数据同时显示在一个图表中,显然不便观察和比较数据,这时可以用VBA来动态改变数据源,单独对各个类别进行显示。


具体的方法是:先在表格中创建一个下拉列表,然后通过下拉列表选择不同的系列,通过VBA代码改变图表数据区域,让图表中的数据随之改变。下面以在Excel 2003中绘制柱形图为例说明如下:

1.设置下拉列表。设置下拉列表的方法有很多,这里用数据有效性来设置。选择某个单元格,如T14,单击菜单“数据→有效性→设置→序列”,在“来源”下输入“性别,年龄,学历,职称”(不含引号)后确定,这样就在T14单元格中通过数据有效性设置了一个下拉列表。


2.插入图表。选择B3:D11区域,即“部门”和第一个类别所在区域“性别”,单击菜单“插入→图表→柱形图→簇状柱形图”,单击“完成”插入一个包含“男”、“女”两个系列的柱形图。


3.输入VBA代码。按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$T$14" Then
Dim RngStr As String
Select Case Target.Value
Case "性别"
RngStr = "b3:b11,c3:d11"
Case "年龄"
RngStr = "b3:b11,e3:i11"
Case "学历"
RngStr = "b3:b11,j3:n11"
Case "职称"
RngStr = "b3:b11,o3:s11"
End Select
ChartObjects("图表 1").Chart.SetSourceData Source:=Range(RngStr)
End If
End Sub

说明:改变T14单元格中的内容时,图表的数据区域随之改变。本例中的图表名称为“图表 1”,需根据实际进行更改。查看图表名称的方法是:

Excel 2003:按住Ctrl键单击图表,在名称框中即可看到所选图表的名称。

Excel 2007/2010:选择图表,在“图表工具-布局”选项卡的“属性”组中即可看到图表名称。

关闭VBA编辑器,返回Excel工作表界面,选择T14单元格中的不同系列即可在图表显示相应类别的数据。

0
投稿

猜你喜欢

  • 方案一:把单元格格式改为”文本”,再重新输入!方案二:一、解决输入身份证号码的问题默认情况下在 Excel当前单元格中输入的数字位数如果超过
  • excel表Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电
  • 许多小伙伴在使用电脑的时候,发现电脑非常的卡,其实这是由于电脑的一些应用一直在后台运行着,而且这些软件几乎没有怎么使用到,那么我们要怎么卸载
  • 我们经常遇到这样的情况,最后一页只有寥寥几行甚至几个字,却仍需要占用一整页的空间。打印时不但浪费纸张,而且版面也不好看。怎么样才能把多余的这
  • 如果word默认的页边距不能满足我们的要求,那么word2007中的页边距怎么调整?下面小编就为大家详细介绍一下,不会的朋友快快来学习吧在操
  • 如何在Word 2016中为段落设置边框?在Word 2016中的段落(顶部,底部,左侧,右侧或所有侧面)上应用边框时,该格式将坚持该段落。
  • word状态栏很多朋友在工作中都用不到,但是状态栏给我们带来的信息是非常大的,我们可以通过状态栏了解Word文档有多少页、多少字、多少行等等
  • 在使用excel2007录入数据之后,一些重要文件,我们都会选择锁定工作簿,防止别人篡改,下面让小编为你带来excel2007保护工作簿的方
  • 今天要说的是IF函数使用,包括excel中含有IF的系列函数,共有8个。希望对大家有帮助一、IF函数用途:根据条件进行判断并返回不同的值。举
  • iOS 15 beta 1 发布于 6 月 8 日,第二个测试版是 6 月 25 日,7 月 1 日苹果重新发布了 iOS 15 beta
  • 面对众多的Excel函数,想必没有几位朋友可以把它们记得清清楚楚吧。哪天真正要用到这些函数时,您又该怎么办呢?面对众多的Excel函数,想必
  • 在上一篇Word技巧文章中,我们讲解了word文档打印的技巧,今天给大家讲解如何合适的链接和嵌入其他程序中的数据。当要在Word2007中使
  • word中怎么修改批注颜色及量删批注?word中经常使用标注,该怎么修改标注的默认颜色,下面我们我们就来看看word中标注修改颜色和删除标注
  • 打开Excel文档,顿时心烦,这是为什么呢?可以很明显的看到,受行高列宽的影响而导致内容显示不全或者文字过少造成多余空白,这种现象想必每一个
  • excel如何排名次的教程:排名步骤1:打开要排名的Excel文件如下图;    排名步骤2:我们在排名的下面输入排名r
  • 怎么查看文档修改痕迹?文章已经被修改了,想要知道哪些内容被修改,还是一个个核对文字内容吗?教你一个快捷的技巧,快速标注出文档中被修改的痕迹。
  • 如今当我们购置新的电脑时,其系统基本为Win10系统,并附赠了office 365 办公软件,但office 365 办公软件需要我们去激活
  • 日常办公工程中,为使表达的内容清新合理,需将编辑的内容进行章节划分,并设置相应的大小标题。如何自动对大小标题编号。下面小编马上就告诉大家wo
  • Excel中角度与弧度该如何互换呢?下面是由小编分享的excel中角度与弧度互换的教程,以供大家阅读和学习。excel中角度与弧度互换的教程
  • 下面小编就为大家介绍Excel在日期中加分隔符使其分隔开来的方法,相信很多朋友都很想知道吧,有需要的朋友一起来看看吧   
手机版 电脑教程 asp之家 www.aspxhome.com