当目标单元格填充有参考单元格值时,Excel VBA Sub无法执行

麻袋过长

当我手动输入“ b37”的值时,这对我希望它执行的操作非常有用,但是当我将“ = c20”放入“ b37”时,什么也没发生。当引用的单元格“ c20”中的值发生更改而不是手动输入“ b37”的值时,如何进行此项工作?谢谢!

Sub Worksheet_Change(ByVal target As Range)
    If Intersect(target, Range("b37")) Is Nothing Then Exit Sub
    If IsNumeric(target.Value) Then
        If target.Value < 0.95 Then
            ActiveSheet.Shapes("Straight Connector 1").Line.ForeColor.RGB = vbRed
        ElseIf target.Value >= 0.95 And target.Value < 1 Then
            ActiveSheet.Shapes("Straight Connector 1").Line.ForeColor.RGB = vbGreen
        Else
            ActiveSheet.Shapes("Straight Connector 1").Line.ForeColor.RGB = vbYellow
        End If
    End If
End Sub
麻袋过长
Private Sub Worksheet_Calculate()
    SetLineColor1 Me.Range("B37"), Me.Shapes("Line 1")
    SetLineColor2 Me.Range("D35"), Me.Shapes("Line 2")
End Sub

Sub SetLineColor1(c As Range, ln As Shape)
    Dim v, clr As Long

    v = c.Value
    If Not IsNumeric(v) Or Len(v) = 0 Then Exit Sub

    If v < 0.95 Then
        clr = vbRed
    ElseIf v >= 0.95 And v < 1 Then
        clr = vbGreen
    Else
        clr = vbYellow
    End If
    ln.Line.ForeColor.RGB = clr
End Sub
Sub SetLineColor2(c As Range, ln As Shape)
    Dim v, clr As Long

    v = c.Value
    If Not IsNumeric(v) Or Len(v) = 0 Then Exit Sub

    If v < 88 Then
        clr = vbRed
    ElseIf v >= 88 And v < 100 Then
        clr = vbGreen
    Else
        clr = vbYellow
    End If
    ln.Line.ForeColor.RGB = clr
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VBA - 无法设置单元格值

来自分类Dev

Excel VBA案例无法识别单元格的值

来自分类Dev

通过VBA发送到Google搜索时,带有特殊字母的Excel单元格值无法识别

来自分类Dev

Excel VBA / 如果单元格的值与参考单元格中的值不符,则删除单元格

来自分类Dev

Excel vba:是否可以在执行从该单元格调用的UDF之前访问该单元格的值?

来自分类Dev

Excel VBA根据之前的单元格中的值填充空白单元格

来自分类Dev

公式如果单元格=值来执行公式其他...Excel VBA

来自分类Dev

Excel VBA目标单元格发生更改,然后忽略

来自分类Dev

Excel VBA重现单元格的值

来自分类Dev

VBA Excel单元格值是“ not” NULL

来自分类Dev

VBA Excel单元格值是“ not” NULL

来自分类Dev

Excel VBA 根据单元格上方的值创建现有单元格的超链接

来自分类Dev

Excel VBA-适用于1个单元格,无法修改以执行多行

来自分类Dev

Excel VBA-适用于1个单元格,无法修改以执行多行

来自分类Dev

清除Excel VBA中选定单元格右侧的单元格-无法猜测列字母标题

来自分类Dev

Excel VBA:查找具有相似值的单元格

来自分类Dev

使用来自相邻单元格的值填充一列单元格 (Excel VBA)

来自分类Dev

使用参考单元格使 vba excel 函数动态化

来自分类Dev

对VBA中的选定单元格执行修剪功能

来自分类Dev

VBA Excel;查找重复的单元格并填充偏移的单元格

来自分类Dev

Excel VBA:使用公式自动填充多个单元格

来自分类Dev

VBA-Excel-用嵌套的IF填充单元格

来自分类Dev

使用VBA Excel比较日期以填充单元格

来自分类Dev

vba for.... 循环查询。在 Excel 中填充单元格

来自分类Dev

在另一个单元格VBA Excel中执行用户定义的函数

来自分类Dev

VBA 用文本值填充变量单元格范围

来自分类Dev

执行单元格值修改而无需复制/粘贴-VBA

来自分类Dev

无需复制/粘贴即可执行单元格值修改-VBA

来自分类Dev

Excel VBA计算代码无法计算合并单元格中的某些公式

Related 相关文章

  1. 1

    VBA - 无法设置单元格值

  2. 2

    Excel VBA案例无法识别单元格的值

  3. 3

    通过VBA发送到Google搜索时,带有特殊字母的Excel单元格值无法识别

  4. 4

    Excel VBA / 如果单元格的值与参考单元格中的值不符,则删除单元格

  5. 5

    Excel vba:是否可以在执行从该单元格调用的UDF之前访问该单元格的值?

  6. 6

    Excel VBA根据之前的单元格中的值填充空白单元格

  7. 7

    公式如果单元格=值来执行公式其他...Excel VBA

  8. 8

    Excel VBA目标单元格发生更改,然后忽略

  9. 9

    Excel VBA重现单元格的值

  10. 10

    VBA Excel单元格值是“ not” NULL

  11. 11

    VBA Excel单元格值是“ not” NULL

  12. 12

    Excel VBA 根据单元格上方的值创建现有单元格的超链接

  13. 13

    Excel VBA-适用于1个单元格,无法修改以执行多行

  14. 14

    Excel VBA-适用于1个单元格,无法修改以执行多行

  15. 15

    清除Excel VBA中选定单元格右侧的单元格-无法猜测列字母标题

  16. 16

    Excel VBA:查找具有相似值的单元格

  17. 17

    使用来自相邻单元格的值填充一列单元格 (Excel VBA)

  18. 18

    使用参考单元格使 vba excel 函数动态化

  19. 19

    对VBA中的选定单元格执行修剪功能

  20. 20

    VBA Excel;查找重复的单元格并填充偏移的单元格

  21. 21

    Excel VBA:使用公式自动填充多个单元格

  22. 22

    VBA-Excel-用嵌套的IF填充单元格

  23. 23

    使用VBA Excel比较日期以填充单元格

  24. 24

    vba for.... 循环查询。在 Excel 中填充单元格

  25. 25

    在另一个单元格VBA Excel中执行用户定义的函数

  26. 26

    VBA 用文本值填充变量单元格范围

  27. 27

    执行单元格值修改而无需复制/粘贴-VBA

  28. 28

    无需复制/粘贴即可执行单元格值修改-VBA

  29. 29

    Excel VBA计算代码无法计算合并单元格中的某些公式

热门标签

归档