图7.3.3-5设置控件格式
图7.3.3-6控件命名设置
步骤四:定义名称。单击“公式”——“定义名称”,打开“新建名称”对话框,在“名称”中输入“定义名称法!x”其中“!”前面为工作表名,在“范围”中选择“定义名称法”,在“引用位置”中输入“=OFFSET(定义名称法!$A$3,定义名称法!$A$11,1,1,5)”,单击“确定”,如图7.3.3-7。
图7.3.3-7新建名称
步骤五:选取B3:F4单元格区域,利用新建图表的方式,插入“折线图”。右键单击折线图区域,单击“选择数据源”,在“选择数据源对话框”中,单击“切换行/列”,再单击“系列”中的“编辑”,如图7.3.3-8。在“编辑数据系列”对话框的“系列值”中输入“=定义名称法!x”,单击“确定”,如图7.3.3-9。选择不同的选项按钮,可以得到不同的动态图表,效果如图7.3.3-10。
图7.3.3-8选择数据源图7.3.3-9编辑数据系列
26
图7.3.3-10员工离职对图表
7.3.4数据透视图 数据透视图可以通过改变报表的布局或选择不同的字段来实现动态图表。在创建数据透视图的时候,也要同时创建数据透视表,以便为创建的图表提供源数据。 以公司员工年销售额记录表为例,做动态数据透视图。数据如图7.3.4-1。
图7.3.4-1员工年销售额记录表
步骤一:在工具栏中选取“插入”,在菜单栏中选择“数据透视图”下拉列表中的“数据透视图和数据透视表”,在弹出的“创建数据透视表”的对话框中,表区域输入“A3:D16”,单击“确定”,如图7.3.4-2。
图7.3.4-2创建数据透视表 步骤二:在“数据透视表工具”中选取“分析”,单击“选项”,弹出“数据透视表选项”,在“显示”中勾选“经典数据透视表布局”,单击“确定”,如图7.3.4-3。
27
图7.3.4-3数据透视表选项
步骤三:根据手动拖动自动选项到相应的位置,即可得到如图7.3.4-4所示的动态透视图表,选择透视表或者透视图中不同的字段,即可得到相关联的动态数据图表。
图7.3.4-4动态数据透视图
提示:步骤二中的设置是为了能够根据自己的意愿,设计出更好的透视图表,这里的设置只对当前的透视图表有用,当再次新建透视表的时候,需要再次的设置才能实现手动布局。
7.3.5使用VBA编程法 使用VBA编程法,可以制作更为灵活的动态图表,只要懂得编程,就可以制作出任何理想中的动态图。然而这也是没有接触过VBA编程学习者的难点。 本例我们将介绍如何通过VBA,将选中单元格所在的行或列区域作为图表系列的源数据,进而实现图表的动态更新。
步骤一:选中图表中的数据区域,插入一个柱形图,并添加纵坐标轴标题,如图7.3.5-1。
28
图7.3.5-1销售柱形图
步骤二:右击工作表名称,在关联菜单中点击“查看代码”,打开VBA代码编辑器,在代码窗口输入如下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) '如果在工作表中选择单元格,运行本程序 Dim i, t '定义两个变量 If ActiveCell.Row = 2 And ActiveCell.Column>= 2 And ActiveCell.Column<= 4 Then '如果选中的单元格在第1二行,且在2到4列之间 i = ActiveCell.Column '设所选单元格的列数为i t = ActiveCell.Text '设所选单元格的文字为t ActiveSheet.ChartObjects(1).Select '选中图表 ActiveChart.SeriesCollection(1).XValues = \图表!R3C1:R14C1\ '设置图表的分类(X)轴引用到A3:A14单元格区域 ActiveChart.SeriesCollection(1).Values = \图表!R3C\ '设置图表的数据系列1引用第i列的3:14行区域 ActiveChart.ChartTitle.Characters.Text = t '设置图表的标题引用活动单元格文字 End If '结束if语句 If ActiveCell.Column = 1 And ActiveCell.Row>= 3 And ActiveCell.Row<= 15 Then '如果选中的单元格在第1列,且在3到15行之间 i = ActiveCell.Row '设所选单元格的行数为i t = ActiveCell.Text '设所选单元格的文字为t 29
ActiveSheet.ChartObjects(1).Select '选中图表 ActiveChart.SeriesCollection(1).XValues = \图表!R2C2:R2C4\ ''设置图表的分类(X)轴引用到B2:D2单元格区域 ActiveChart.SeriesCollection(1).Values = \图表!R\ '设置图表的数据系列1引用第i列的2:4列区域 ActiveChart.ChartTitle.Characters.Text = t '设置图表的标题引用活动单元格文字 End If '结束if语句 End Sub '结束程序 步骤三:按住Shift+F7组合键返回工作表,选择D2单元格,图表中的数据系列自动变为第4列的“2013年”数据,选取A10单元格,图表中的数据系列自动变为第10行的“八月”数据,如图7.3.5-2所示。
图7.3.5-2动态销售图
7.4 实用技巧
7.4.1移动图表 在创建图表后,可能会需要移动图表的位置。在Excel2013中分为在工作表内移动图表和在工作表间移动图表两种情况,下面对两种情况进行介绍。 (1)工作表内移动图表
选取要移动的图表区域,将鼠标指针放到图表边框上,当鼠标指针变为“*”时,拖动图表即可在工作表内移动图表的位置,如图7.4.1-1。 (2)工作表间移动图表 选择整个图表右键单击,在关联菜单中选择“移动图表”命令,打开“移动图表”对话框,在对话框中选择“对象位于”单选按钮,在其后的下拉列表中选择目标工作表,然后“确定”,即可移动到指定的工作表中,如图7.4.1-2。
30