用于根据单元格中的值更改形状填充颜色的 VBA 代码

自恋者
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E9")) Is Nothing Then Exit Sub
    If IsNumeric(Target.Value) Then
        If Target.Value < 0 Then
            ActiveSheet.Shapes("Rectangle 2").Fill.ForeColor.RGB = vbRed
        Else
            ActiveSheet.Shapes("Rectangle 2").Fill.ForeColor.RGB = vbGreen
        End If
    End If
End Sub

在单元格 E9 中,我有公式:

=IF(H9="";"";INDEX(Sales!E39:P39;MATCH(Main!AE3;Sales!E34:P34;0)))

这似乎不起作用,只有当我在 E9 中手动编写例如 500 时。任何解决方案?

Subodh Tiwari sktneer

当单元格内容被公式更改时,不会触发工作表更改事件。要实现这一点,您需要 Sheet Calculate Event。

试试这个。将以下代码放在工作表模块上。

Private Sub Worksheet_Calculate()
Dim cell As Range
Set cell = Range("E9")
If IsNumeric(cell) Then
    If cell.Value < 0 Then
        ActiveSheet.Shapes("Rectangle 2").Fill.ForeColor.RGB = vbRed
    Else
        ActiveSheet.Shapes("Rectangle 2").Fill.ForeColor.RGB = vbGreen
    End If
End If
End Sub

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VBA代码,用于更改单元格中任何文本的背景文本

来自分类Dev

用于更改指向特定工作表单元格中设置的路径的链接的 VBA 代码

来自分类Dev

VBA-根据特定单元格的值更改单元格的颜色

来自分类Dev

如何通过VBA根据其他单元格值更改单元格的背景颜色

来自分类Dev

VBA - 根据另一个单元格的值填充单元格值(代码不起作用)

来自分类Dev

用于覆盖excel中空白单元格的VBA代码

来自分类Dev

根据查询表中的单元格值使整个行变为粗体的VBA代码

来自分类Dev

vba代码,用于在列单元格中顺序生成唯一编号

来自分类Dev

Excel VBA代码可在第一个单元格的值更改时复制一行中的单元格区域并粘贴到不同的工作表中,但行/范围相同

来自分类Dev

如何根据填充颜色在单元格中显示值 - Excel VBA 中的事件

来自分类Dev

填充系列VBA代码

来自分类Dev

单元格值更改未在vba宏中捕获

来自分类Dev

VBA代码,用于根据特定的单元格条件将单元格从一列移动到另一列

来自分类Dev

Excel-VBA:根据相邻单元格的文本颜色更改单元格的文本颜色

来自分类Dev

Excel-VBA:根据相邻单元格的文本颜色更改单元格的文本颜色

来自分类Dev

如何在VBA中的单元格中填充颜色?

来自分类Dev

如何在VBA中的单元格中填充颜色?

来自分类Dev

根据 1 列的值更改 3 列的字体颜色的 VBA 代码(多个表)

来自分类Dev

在VBA中重复代码

来自分类Dev

模板中的VBA代码

来自分类Dev

在VBA中重复代码

来自分类Dev

VBA代码中的for循环

来自分类Dev

VBA代码中的IF AND公式

来自分类Dev

Excel VBA-根据其他工作表中的事件更改单元格颜色

来自分类Dev

VBA:根据列中的“随机”内容填充单元格

来自分类Dev

VBA:根据列中的“随机”内容填充单元格

来自分类Dev

Excel VBA:如何在VBA代码中重复双击/单元格编辑操作

来自分类Dev

VBA调试使用VBA代码对过滤列表中的空白单元格进行计数

来自分类Dev

Excel VBA代码根据另一个单元格值清除一个单元格中的数据

Related 相关文章

  1. 1

    VBA代码,用于更改单元格中任何文本的背景文本

  2. 2

    用于更改指向特定工作表单元格中设置的路径的链接的 VBA 代码

  3. 3

    VBA-根据特定单元格的值更改单元格的颜色

  4. 4

    如何通过VBA根据其他单元格值更改单元格的背景颜色

  5. 5

    VBA - 根据另一个单元格的值填充单元格值(代码不起作用)

  6. 6

    用于覆盖excel中空白单元格的VBA代码

  7. 7

    根据查询表中的单元格值使整个行变为粗体的VBA代码

  8. 8

    vba代码,用于在列单元格中顺序生成唯一编号

  9. 9

    Excel VBA代码可在第一个单元格的值更改时复制一行中的单元格区域并粘贴到不同的工作表中,但行/范围相同

  10. 10

    如何根据填充颜色在单元格中显示值 - Excel VBA 中的事件

  11. 11

    填充系列VBA代码

  12. 12

    单元格值更改未在vba宏中捕获

  13. 13

    VBA代码,用于根据特定的单元格条件将单元格从一列移动到另一列

  14. 14

    Excel-VBA:根据相邻单元格的文本颜色更改单元格的文本颜色

  15. 15

    Excel-VBA:根据相邻单元格的文本颜色更改单元格的文本颜色

  16. 16

    如何在VBA中的单元格中填充颜色?

  17. 17

    如何在VBA中的单元格中填充颜色?

  18. 18

    根据 1 列的值更改 3 列的字体颜色的 VBA 代码(多个表)

  19. 19

    在VBA中重复代码

  20. 20

    模板中的VBA代码

  21. 21

    在VBA中重复代码

  22. 22

    VBA代码中的for循环

  23. 23

    VBA代码中的IF AND公式

  24. 24

    Excel VBA-根据其他工作表中的事件更改单元格颜色

  25. 25

    VBA:根据列中的“随机”内容填充单元格

  26. 26

    VBA:根据列中的“随机”内容填充单元格

  27. 27

    Excel VBA:如何在VBA代码中重复双击/单元格编辑操作

  28. 28

    VBA调试使用VBA代码对过滤列表中的空白单元格进行计数

  29. 29

    Excel VBA代码根据另一个单元格值清除一个单元格中的数据

热门标签

归档