我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
无意中看到的一个技巧,非常有意思,稍作整理和修改,在这里和大家分享。
如下图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
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08