【发布时间】:2018-11-20 17:49:51
【问题描述】:
我需要你的帮助。 上下文:我有一个 VBA 可以将颜色(绿色、橙色、红色)更改为与 % 值相关的几个形状。这些值将根据列表框而改变。但是,如果 % 发生变化,则格式不遵循。
宏如下所示 - 您知道如何“强制”刷新以使形状格式跟随任何单元格更改吗?以下尝试强制失败。
Private Sub Worksheet_Change(ByVal Target As Range)
EnableFormatConditionsCalculation = True
If Target.Address = "$K$16" Then
With Sheets("Resources").Shapes("Oval 1")
If Sheets("Resources").Cells(16, 11).Value < 0.95 Then
.Fill.ForeColor.RGB = RGB(255, 0, 0)
Else If
Sheets("Resources").Cells(16, 11).Value > 0.99 Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
Else
.Fill.ForeColor.RGB = RGB(255, 153, 0)
End If
End If
End With
ElseIf Target.Address = "$L$16" Then
With Sheets("Resources").Shapes("Oval 2")
If Sheets("Resources").Cells(16, 12).Value < 0.95 Then
.Fill.ForeColor.RGB = RGB(255, 0, 0)
Else If Sheets("Resources").Cells(16, 12).Value > 0.99 Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
Else
.Fill.ForeColor.RGB = RGB(255, 153, 0)
End If
End If
End With
Range("K16:W16").Calculate
End If
End Sub
【问题讨论】:
-
请修正您的代码格式
-
嗨蒂姆,谢谢你,我只是尝试重新编辑它并按照说明中提到的那样放置 4 个空格 - 抱歉,这是我的第一篇文章,这意味着我花了几个小时来解决这个问题我来的时候我需要专家的眼睛来帮助我;)提前谢谢。
-
我为你做了一个开始 - 你现在需要做的就是修复缩进...
-
如果没有直接在您监控的单元格中进行更改,您可能需要响应
Calculate事件 -
请问你会怎么做?