确定某个值是否大于或小于先前的值

确定某个值是否大于或小于先前的值

我正在创建一个记分卡来跟踪每周报告的问题数量。

我希望添加格式

  • 如果先前的值大于当前值,则应以红色突出显示
  • 如果先前的值小于当前值,则应以绿色突出显示。

我在一个表格中进行了此设置,其中列出了每周的值。

我尝试应用此数据的屏幕截图

答案1

那么当当前值等于之前的值时会怎样呢?我将其归类为绿色类型。

在这里,我选择 B5:L5 中的单元格进行突出显示,选择样式组中的条件格式 > 新建规则 > 使用公式确定要格式化的单元格。

输入“=IF(B5 格式,红色(红色代表填充、字体或其他)。

按照同样的步骤创建第二条规则,输入“=IF(B5>=B4,TRUE)”>格式,绿色。

下图显示了条件格式规则管理器和结果。

在此处输入图片描述 在此处输入图片描述

当您需要将规则应用到其他单元格时,您可以在条件格式规则管理器中修改范围。

答案2

您可以将其放入工作表的代码中:它仅更改 C2 和 C100 之间的颜色,但您可以更改代码中的列和范围以适应。

Private Sub Worksheet_Change(ByVal target As Excel.Range)

Dim MyRnge As Range, c As Range
Set MyRnge = Range("$C$2:$C$100")

If target.Column = 3 Then
    For Each c In MyRnge
        If c.Value > c.Offset(-1, 0).Value Then c.Interior.ColorIndex = 4
        If c.Value < c.Offset(-1, 0).Value Then c.Interior.ColorIndex = 3
    Next c
End If
End Sub
'------------------------------------ version 2
Private Sub Worksheet_Change(ByVal Target As Range)

Dim MyRnge As Range, c As Range
Set MyRnge = Range("$A$117:$H$118")

If Target = Range("$A$117") Then
    For Each c In MyRnge
        If c.Value > Target.Value Then c.Interior.ColorIndex = 4
        If c.Value < Target.Value Then c.Interior.ColorIndex = 3
    Next c
End If
End Sub
'---------------version 3
Private Sub Worksheet_Change(ByVal Target As Range)

Dim MyRnge As Range, c As Range, mycell As Range
Set MyRnge = Range(Cells(5, 2), Cells(5, Cells(5, Columns.Count).End(xlToLeft).Column))

If Not Intersect(Target, MyRnge) Is Nothing Then
    For Each c In MyRnge
        If c.Value > c.Offset(-1, 0).Value Then c.Interior.ColorIndex = 4
        If c.Value < c.Offset(-1, 0).Value Then c.Interior.ColorIndex = 3
    Next c
End If
End Sub

相关内容