在Excel中,我们可以绘制动画图表,如下图所示。
在Excel中,我们可以绘制动画图表,如下图所示。
下面我们来详细介绍实现Excel动画图表的过程。
准备数据
如下图1所示,在单元格区域A3:C16中是使用的示例数据。
图1
以图1的示例数据为基础,使用公式得到数据区域E3:G16,如下图2所示。
图2
其中,单元格F4中的公式为:
=IF($E4<=$F$1,B4,NA())
向下拉至单元格F16。
单元格G4中的公式为:
=IF($E4<=$F$1,IF(C4=0,””,C4),NA())
向下拉至单元格G16。
并将单元格F1命名为:
step
绘制图表
选择数据区域E3:F16,插入折线图,并添加数据标签,进行适当的格式设置,结果如下图3所示。
图3
其中,数据标签取单元格区域G4:G16中的值,并显示引导线。在Excel 2016中设置数据标签格式如下图4所示。(在之前的Excel版本中,可能要经过一些操作才能达到同样的效果,或者使用专门的加载宏)
图4
编写VBA代码
在绘制的图表右上角放置一个按钮控件,并指定宏,如下图5所示。
图5
VBA代码如下:
Sub chartanimate()
Dim i As Long
Dim size As Long
size = 120
For i = 0 To size
[step] = i / 10
DoEvents
Next i
End Sub
调整图表设置
单击“开启动画绘图”按钮,效果如下图6所示。
图6
可以看到,效果并不,主要是随着图表的绘制,坐标轴的数值不断变化。可以对垂直坐标轴的数值进行设置,手动输入最大值,如下图7所示。
图7
最后的效果如下图8所示。
图8
让动画速度可以调节
设置数据验证,如下图9所示,在单元格B20中可以选取相应的速度项。
图9
设置速度值查询表,如下图10所示的单元格区域D20:E25。
图10
命名单元格。如下图11所示,单元格H20的名称为“scale”,单元格H21的名称为“step”。
图11
其中,单元格H20中的值使用查找公式得到,公式为:
=VLOOKUP(B20,$D$21:$E$25,2,FALSE)
这样,在选取单元格B20中的数值后,单元格H20中的值会相应变化,从而设置相应的速度值。
修改绘图数据区域中的相应公式,如下图12和图13所示。
图12
图13
将单元格F4和G4分别下拉至第16行。
此时,单击“开启动画绘图”按钮,我们可以看到完整的绘制图表过程及数据变化过程。如下图14所示。
图14
在单元格B20中选取不同的速度,看看绘制图表的快慢效果,如下图15所示。
图15
结语
图表是以数据为驱动的,因此数据的动态调整,并适当拉长数据的调整时间,就可以实现动画图表效果。
使用公式来实现数据的动态调整。
使用VBA来拉长数据的调整时间。