当前位置:首页 > 办公 > Excel教程 > 正文内容

Excel实战技巧:动态的笑脸图

酷网4周前 (10-29)Excel教程21

无意中看到的一个技巧,非常有意思,稍作整理和修改,在这里和大家分享。

如下图1所示,在工作表中绘制了一个笑脸图,根据单元格H3中的数值来变换嘴唇的弧度。数值在0至50之间,是哭脸,超过50后就是笑脸了。

图1

在单元格H3中,设置了数据有效性,只能在该单元格中输入0至100之间的整数,如下图2所示。

图2

在笑脸所在的工作表模块中,输入代码:

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo errHandler

Dim sh As Shape

Dim myMin As Double

Dim myMax As Double

Set sh = Shapes(“HappyFace”)

‘Excel 2003中,min=0.7181 max=0.8111

‘Excel 2007后,min=-0.04653 max0.04653

myMin = -0.04653

myMax = 0.04653

If Target.Address = “$H$3″ Then

Application.EnableEvents = False

sh.Adjustments.Item(1) _

= myMin + (myMax – myMin) * Target.Value/ 100

End If

exitHandler:

Application.EnableEvents = True

Exit Sub

errHandler:

MsgBox Err.Number & ” ” &Err.Description

GoTo exitHandler

End Sub

这里,添加了一段简单的代码,让单元格H3中的数字连续改变,从而实现笑脸不断变化,如下图3所示。

图3

下面,我们让笑脸随着分数的变化,颜色也同时发生变化,如下图4所示。

图4

相应的工作表模块代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo errHandler

Dim sh As Shape

Dim myMin As Double

Dim myMax As Double

Dim myColor As Long

Set sh = Shapes(“HappyFace”)

‘Excel 2003中, min=0.7181 max=0.8111

‘Excel 2007后, min=-0.04653 max=0.04653

myMin = -0.04653

myMax = 0.04653

If Target.Address = “$H$3″ Then

Application.EnableEvents = False

sh.Adjustments.Item(1) _

= myMin + (myMax – myMin) * Target.Value/ 100

‘修改形状颜色

‘小于60%  红色

‘60%- 90% 橙色

‘90%-100% 绿色

Select Case Target.Value

Case Is >= 90: myColor _

= RGB(146, 208, 80) ‘绿色

Case Is >= 60: myColor _

= RGB(255, 192, 0) ‘橙色

Case Else: myColor _

= RGB(255, 0, 0) ‘红色

End Select

sh.Fill.ForeColor.RGB = myColor

End If

exitHandler:

Application.EnableEvents = True

Exit Sub

errHandler:

MsgBox Err.Number & ” ” &Err.Description

GoTo exitHandler

End Sub

同样,我们也可以设置一段代码,让笑脸连续变化,如下图5所示。

图5

扫描二维码推送至手机访问。

版权声明:本文章来源于互联网,由八酷网收集发布,如需转载请注明出处。

本文链接:https://www.i8ku.com/2021/40732.html

分享给朋友:

相关文章

关于Excel公式,你必须知道这些(二)

关于Excel公式,你必须知道这些(二)

继续关于公式的操作: 一、公式填充 公式由一个单元格拖到另一单元格叫“公式填充”,主要依靠“填充柄”来完成,填充柄位于公式单元格右下角: 两种方式: 1、拖动填充柄:适用于行数少的情况,如下: 2、鼠标左键双击填充柄...

Excel带数值或极值的图表

Excel带数值或极值的图表

Excel图表图表的作用就是将数据用图形表示出来,让数据对比显而易见。 为了更突出数据,有时需要将数据值标注在图表上,如下图: 有时,还需要特别强调最大值与最小值,并且极值随源数据的改变而自动变化,如下动图: 今天,...

Excel常用函数公式20例

Excel常用函数公式20例

小伙伴们好啊,今天老祝要和大家分享一期常用Excel函数公式的用法,学会这些套路,让工作效率再高一丢丢。 1、条件判断 IF函数是最常用的判断类函数之一,能完成非此即彼的判断。 如下图,考核得分的标准为9分,要判断B列的...

Excel冻结拆分窗格,数据行列轻松查看

Excel冻结拆分窗格,数据行列轻松查看

如果工作表中数据量比较大,进行数据处理的时候,鼠标滚轮滚上滚下,或滚动条拖来拖去,就不知道某个数据是对应的哪一行哪一列了,还要返回工作表顶部去查看,如下动图: 这样上下左右查来看去,处理数据的效率会很低。 冻结拆分窗口...

MOD 函数

本文介绍MicrosoftExcel中MOD函数的公式语法和用法。 说明返回两数相除的余数。结果的符号与除数相同。 语法MOD(number,divisor) MOD函数语法具有下列参数: Number    必需。...

Excel自动换行的方法和步骤

Excel自动换行的方法和步骤

  在Microsoft Excel软件单元格中,如果文本过长,则超出列宽以外的文本将会被隐藏起来。为了在保持列宽一定的情况下显示出单元格中的所有文本,这时候我们就可以设置文字自动换行...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。