本文分享了一个动态图表示示例,其效果如下图1所示。当您按下工作表中的不同按钮时,图表将自动更新,突出显示相应数据系列的数据点。
图1
图表数据如下图2所示。
图2。
第一步:画图表。选择数据单元格区域A2:D6,点击功能区选项卡“插入-图表-带数据标记的折线图”。结果如下图3所示。
图3。
第二步:绘制形状按钮。单击功能区选项卡插入-形状-圆角矩形,如下图4所示。
图4
在工作表中插入一个圆角矩形并添加文本。同样,插入2个圆角矩形并添加文本。将三个圆角矩形放在图表上方,并整齐排列,如下图5所示。
图5
第三步:命名圆角矩形按钮。选择带有文字2016的圆角矩形,在工作表左上角的名称框中输入“2016”,如下图6所示。
图6
在同一操作中,文本为2017和2018的圆角矩形分别命名为“2017”和“2018”。
第四步:用公式提取数据。
1.在单元格F2中输入“2016”。
2.在单元格F3中输入公式:
=INDEX(B $ 3:D $ 6,ROWS(E $ 3: E3),MATCH(F $ 2,B $ 2:D $ 2,0))
3.选择单元格F3并将其下拉到单元格F6以填写公式。
结果如下图7所示。
图7
第五步:在图表中添加并格式化一个新系列。选择单元格区域F3:F6并复制(按Ctrl c),选择图表并粘贴(按Ctrl v)。此时,图表中会创建与某一年相同的数据系列,但颜色不同,如下图8所示。
图8
1.选择新创建的新系列,右键选择“设置数据系列格式”命令,将该行设置为“无线条”,如下图9所示。
图9
2.在标记选项中,将内置类型设置为“圆形”,填充为“无填充”,如下图10所示。
图10。
3.继续设置该系列的数据标记帧格式,将帧设置为“Implementation”,红色,1.5点宽,“虚线”,如下图11所示。
图11。
4.选择一个数据标签,右键单击并添加一个数据标签,如下图12所示。
图12。
5.选择添加的数据标签,并将其数字格式设置为百分比。结果如下图13所示。
图13。
第六步:写VBA代码。
1.按Alt F11打开VBE编辑器,插入标准模块,并在其中输入以下代码:
子选择年2016()
范围(“F2”)。价值=2016年
活动纸。形状(“2016”)。
活动纸。形状(“2017”)。
活动纸。形状(“2018”)。
末端接头
子选择年2017()
范围(“F2”)。价值=2017年
活动纸。形状(“2016”)。
活动纸。形状(“2017”)。
活动纸。形状(“2018”)。
末端接头
子选择年2018()
范围(“F2”)。价值=2018年
活动纸。形状(“2016”)。
活动纸。形状(“2017”)。
活动纸。形状(“2018”)。
末端接头
2.将宏分配给圆角矩形。选择文本为2016的矩形,右键单击,点击“指定宏”命令,在“指定宏”对话框中选择“选择年份2016”,如下图14所示。
图14。
同样,将相应的宏分配给其他两个形状。
至此,图表完成。当您单击图表顶部的矩形按钮时,将出现上面图1所示的效果。