用VBA实现图表的旋转效果
办公族
Excel中提供了强大的图表功能,用它可以将抽象的数据变为直观的图表,让人一目了然。在实践中,笔者发现如果能将三维图表的旋转动态效果演示给领导或客户看,更能引起他们的注意,更能清晰地将图表的作用演绎得淋漓尽致。下面我们就一起来看看是如何实现的吧。
图中所示的为某公司在今年前五个月的销售业绩。在将数据制作成图表时,我们将图表类型选择为柱形图中的“三维柱形图”。图表制作完成后,可适当对图表做一些修饰,如填充颜色、设置标题等。

右键点击工具栏,选择“控件工具箱”,利用其中的“命令按钮”工具在图表下方绘制一个按钮,并将它的Caption属性设置为“播放动画”。
双击该按钮,在Click事件中写入以下代码:
Private Sub CommandButton1_Click()
Dim GraphObj As Chart
Dim Speed, i, j, k, l As Double
Set GraphObj = ChartObjects(1).Chart
设置图表动画速度
Speed = 0.6
设置图表对象多角度旋转
For i = 0 To 50 Step Speed
GraphObj.Rotation = i 逆时针旋转
DoEvents
Next i
For j = 0 To 50 Step Speed
GraphObj.Elevation = j 由下向上旋转
DoEvents
Next j
For k = 50 To 0 Step -1 * Speed
GraphObj.Rotation = k 顺时针旋转
DoEvents
Next k
For l = 50 To 0 Step -1 * Speed
GraphObj.Elevation = l 由上向下旋转
DoEvents
Next l
End Sub
代码输入后,关闭编辑器返回Excel窗口,单击控件工具箱中的“退出设计模式”按钮,接着点击“播放动画”按钮,我们就可以观察到图表旋转播放的动画效果了。
提示:在动画播放的过程中,如果你感觉播放速度过快,可通过代码中的“Speed”变量来进行调节,而图表旋转的方向也可由你决定。