Excel实战技巧:动态的笑脸图
无意中看到的一个技巧,非常有意思,稍作整理和修改,在这里和大家分享。
如下图一所示,在工作表中绘制了一个笑脸图,根据单元格H3中的数值来变换嘴唇的弧度。数值在0至50之间,是哭脸,超过50后就是笑脸了。
图一
在单元格H3中,设置了数据有效性,只能在该单元格中输入0至100之间的整数,如下图2所示。
图2
在笑脸所在的工作表模块中,输入代码:
私有子工作表_更改(按值目标作为范围)
出错时转到错误处理程序
模糊形状
将我的分钟调成双倍
将我的最大值调暗为两倍
设置形状("快乐面")
Excel 2003中,最小值=0.7181最大值=0.8111
Excel 2007后,min=-0.04653 max0.04653
myMin=-0.04653
myMax=0.04653
如果目标。地址="$H$3 "那么
申请。启用事件=假
先令调整。项目(1) _
=myMin(myMaxmyMin)* Target.Value/100
如果…就会结束
existhandler :
申请。启用事件=真
出口接头
errHandler:
MsgBox Err .数字呃.描述
GoTo exitHandler
末端接头
这里,添加了一段简单的代码,让单元格H3中的数字连续改变,从而实现笑脸不断变化,如下图3所示。
图3
下面,我们让笑脸随着分数的变化,颜色也同时发生变化,如下图四所示。
图四
相应的工作表模块代码如下:
私有子工作表_更改(按值目标作为范围)
出错时转到错误处理程序
模糊形状
将我的分钟调成双倍
将我的最大值调暗为两倍
模糊我的颜色一样长
设置形状("快乐面")
Excel 2003中,最小值=0.7181最大值=0.8111
Excel 2007后,最小值=-0.04653最大值=0.04653
myMin=-0.04653
myMax=0.04653
如果目标。地址="$H$3 "那么
申请。启用事件=假
先令调整。项目(1) _
=myMin(myMaxmyMin)* Target.Value/100
'修改形状颜色
'小于60% 红色
'60%- 90% 橙色
'90%-100% 绿色
选择案例目标。价值
案例号=90: myColor _
=RGB(146,208,80)'绿色
案例号=60: myColor _
=RGB(255,192,0)'橙色
病例Else: myColor _
=RGB(255,0,0)'红色
结束选择
先令填充
如果…就会结束
existhandler :
申请。启用事件=真
出口接头
errHandler:
MsgBox Err .数字呃.描述
GoTo exitHandler
末端接头
同样,我们也可以设置一段代码,让笑脸连续变化,如下图5所示。
图5
版权声明:Excel实战技巧:动态的笑脸图是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。