本文介绍如何使用箭头线更加可视化地显示变化的方向,如图一所示。
图一
在Excel 2007及以后的版本中,通过设置系列3的箭头末端格式,很容易实现图一所示的效果。
下面,我们使用VBA来完成箭头线的绘制。
SubConnectTwoXYSeries()
将myCht调暗为图表
将我的手机一调成系列
将我的rs2调成系列
Dim Npts为整数Ipts为整数
将我的构建器设计为自由表单构建器
将我的形状模糊为形状
一样长
Dim Xnode1加倍,Ynode1加倍
Dim Xnode2加倍,Ynode2加倍
将Xmin设为双精度,将Xmax设为双精度
迪姆伊明加倍,伊麦斯加倍
Dim Xleft加倍伊图普加倍
将Xwidth调成两倍,YhA8调成两倍
' 必须先选取具有两个系列的图表
如果活动图表什么也不是,那么
GoTo ExitSub
如果…就会结束
如果活动图表。系列集合。计数2
GoTo ExitSub
如果…就会结束
设置myCht=活动图表
设置mySrs1=myCht .系列集合(1)
设置mySrs2=myCht .系列集合(2)
Npts=mySrs1 .点数,计数
' 两个系列必须具有相匹配数量的点
如果我的rs2 .点数。然后计算不扩散核武器条约
GoTo ExitSub
如果…就会结束
' 移除任何原先的连接箭头线
对于Ishp=myCht .形状。数到一步骤一
如果左(我的电脑。形状(Ishp).名称,12)="箭头线段"然后
myCht .形状(Ishp).删除
如果…就会结束
然后
Xleft=myCht .绘图区域
Xwidth=myCht .绘图区
Ytop=myCht .绘图区域
yhway=MyChT .在德国的绘图区。
Xmin=myCht .轴(1)。最小标度
Xmax=myCht .轴(1)。最大级别
Ymin=myCht .轴(2)。最小标度
Ymax=myCht .轴(2)。最大级别
对于Ipts=1至不扩散核武器条约
' 第一个数据点
xd节点1=Xleft(Myrs1 .XValues(Ipts)-Xmin)* Xwidth/(XmaxXmin)
yno de 1=Ytop(Ymax-Myrs1 .值(Ipts))* Yhway/(YmaxYmin)
' 第2个数据点
xd节点2=Xleft(Myrs2 .XValues(Ipts)-Xmin)* Xwidth/(XmaxXmin)
ynode 2=Ytop(Ymax-Myrs2 .值(Ipts))* Yhway/(YmaxYmin)
' 绘制连接线
设置myShape=myCht .形状。添加线(Xnode1、Ynode1、Xnode2、Ynode2)
' 命名并格式形状为箭头线
用我的形状。name=" ArroSegment " CStr(Ipts)
和。线条
' 在这里可以使用你喜欢的格式。ForeColor。SchemeColor=12 '蓝色。EndArrowheadLength=msoarrowrhead。endarrowwidth=msoarrowheaidthmedium。EndArrowheadStyle=msoarrowhead三角形
以…结尾
以…结尾
然后
ExitSub:
EndSub
在运行程序前,先要选择图表。
运行程序后的结果如图2所示。
图2
虽然在Excel 2007及以上的版本中,很容易实现这样的功能,但我们仍然试图使用VBA程序实现同样的效果。通过VBA程序,让我们进一步熟悉图表元素及图表编程的技术。