首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Excel实战技巧84: 让形状生动起来

Excel实战技巧84: 让形状生动起来

作者头像
fanjy
发布2020-07-24 10:07:36
发布2020-07-24 10:07:36
5370
举报
文章被收录于专栏:完美Excel完美Excel

学习Excel技术,关注微信公众号:

excelperfect

我们可以将《Excel实战技巧83:制作动态的笑脸图》中介绍的技术运用到其他类型的形状中。下面再举一个例子,如下图1所示。

图1

对单元格H3设置数据有效性如下图2所示。

图2

在形状所在的工作表模块中,输入代码:

代码语言:javascript
复制
Private Sub Worksheet_Change(ByVal Target As Range)
  On Error GoTo errHandler
  Dim sh As Shape
  Dim myColor As Long
  Dim lAdj As Long
  Set sh = Shapes("Partial Circle 1")
 
  If Target.Address = "$H$3" Then
    Application.EnableEvents = False
    sh.Adjustments.Item(1) = 0
 
    Select Case Target.Value
      Case 0: lAdj = 0
      Case Else:  lAdj = -(360 - (360 * Target.Value))
    End Select
   
    sh.Adjustments.Item(2) = lAdj
 
    '修改形状颜色
    Select Case Target.Value
      Case Is >= 0.85: myColor _
        = RGB(169, 208, 142)  '绿色
      Case Is >= 0.75: myColor _
        = RGB(255, 255, 0)  '黄色
      Case Is >= 0.5: 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

我们可以添加一小段代码,让这个图动起来,如下图3所示。

图3

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档