本文,我们将在这两篇文章介绍的技巧的基础上,实现绘制圆形轨迹运动,如图1所示。
本文,我们将在这两篇文章介绍的技巧的基础上,实现绘制圆形轨迹运动,如图1所示。
图1
下图2是我们在图中所使用的数据,本文仍然使用这些数据。
图2
首先,定义一些名称。
名称:n
引用位置:=25
名称:ndx
引用位置:=1
名称:circle_x
引用位置:=OFFSET(Sheet1!$C$2,0,0,n,1)
名称:circle_y
引用位置:=OFFSET(Sheet1!$D$2,0,0,n,1)
名称:dot_circle_x
引用位置:=INDEX(circle_x,ndx)
名称:dot_circle_y
引用位置:=INDEX(circle_y,ndx)
图3为我们在《Excel图表学习06:画圆》中绘制的圆。
图3
选择已经绘制的圆系列,单击右键,选取“设置数据系列格式”。在弹出的“设置数据系列格式”对话框中,将“数据标记选项”设置为“无”,将“线条颜色”设置为“无线条”。此时,图表如图4所示。
图4
我们看到,已经绘制的圆不见了,这是我们的设置造成的,实际上这个圆仍然存在于绘图区中。
下面,我们来添加数据系列。
选中绘图区,在“图表工具”选项卡组中选择“设计”选项卡下的“选择数据”命令,添加数据系列dot_circle,如图5所示。
图5
注意,如果此时在绘图区看不到任何东西,那么需要设置数据系列“dot_circle”的线条颜色为“实线”。
在工作表中插入一个ActiveX控件命令按钮,将其标题更改为“圆形轨迹运动”,双击该按钮并输入下面的代码:
Private i As Long
PrivateblnRunning As Boolean
Private SubCommandButton1_Click()
Dim nm As Names
Dim z As Long
Const DELAY_FACTOR = 1000
If CommandButton1.Caption = “圆形轨迹运动” Then
CommandButton1.Caption = “停止运动”
End If
If blnRunning Then
blnRunning = False
CommandButton1.Caption = “圆形轨迹运动”
Exit Sub
End If
blnRunning = True
Application.Cursor = xlNorthwestArrow
Set nm = Application.Names
Do
If blnRunning = False Then Exit Do
i = i + 1
If i > 25 Then i = 1
nm.Add “ndx”, (i Mod [n]) + 1
For z = 1 To DELAY_FACTOR: DoEvents:Next z
Loop
Application.Cursor = xlDefault
blnRunning = False
Set nm = Nothing
End Sub
退出“设计模式”,然后单击命令按钮,就可以看到圆的轨迹运动的动画了,如图6所示。
图6
细心的读者可能会注意到,圆点的运动轨迹似乎并不圆,这是由于我们绘制时使用的数据点较少造成的,增加一些数据,效果会更好。