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

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

酷网7个月前 (10-29)Excel教程96

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

如下图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 年休假的计算方法,公式使用了LOOKUP函数来查找工作年数对应的年休假天数。   年休假天数计算如何计算,这是HR们的家常便饭。excel 年休假的计算方法,视具体的数据源,方法会略有不同。   下面...

Excel 这几个公式,你一定要会

Excel 这几个公式,你一定要会

只要你用到Excel数据处理,这几个公式就一定要会: IF判断等级 评定成绩:如果大于等于85为优秀,大于等于70小于85为良好,大于等于60小于70为合格,小于60为不合格。 公式: =IF(D3>=85,...

这些求和公式非常容易使用 Excel根据满足的条件求和

这些求和公式非常容易使用 Excel根据满足的条件求和

在制作表格的过程中,我们几乎每天都使用总结和求和。我们应该分别对待不同需求的数据。我们以前分享过一些制造和平的技巧。今天,小王先生将分享一些常用的求和公式。 按条件求和 有时产品名称太多,我们可能需要有针对性地...

怎么添加excel表格立体效果?excel单元格添加三维立体效果的技巧

怎么添加excel表格立体效果?excel单元格添加三维立体效果的技巧

  目前人们只使用Excel办公软件的一小部分功能,大部分功能因为不能使用或不能直接使用而没有使用。有时为了增强艺术感。今天小编就带大家来共同学习excel单元格添加三维立体效果的技巧...

怎么利用ExcelVBA解决棘手的数据提取问题

今天同事问了个我一个数据提取的问题。他的需求是这样的: 他有1个工作簿,里面有100个工作表。他希望把每个工作表里的第6行的b6:i6数据复制到一起, 也就是说他要把工作表里的第6行,汇总在一起。比如这样: 他说如果...

Excel提取字符串中的数字

Excel提取字符串中的数字

单元格中的数据包含文本和数字(如),如何使用公式提取出该单元格中的数字? 先不看答案,自已动手试一试。 公式思路 先找到字符串文本中第1个数字出现的位置,然后取出从该位置起的全部数据。 公式 数组公式如下: =1*MI...

发表评论

访客

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