逐行条件格式

Conditional Formatting row wise

如果连续两个单元格满足条件,我要格式化一个单元格:

当单元格 F4 等于其中一名工人和最大值时。 相同 工人的工作时间 > 10 单元格 F4 应该是红色的。

我试过了,但没有让规则生效。

这样做:

  • 如果规则适用,请标记您想要着色的所有单元格
  • 按照查找左上角的方式制定规则 cell/row

看这个例子:

所以在这种情况下,我希望第一行的规则是:如果单元格 F4 > 10,则颜色为红色。

结果:

在CF中使用公式:

=SUM(($L:$L=$F)*($M:$M>10))

并应用于范围 F4

尝试工作表更改事件。你可以轻松添加边框、字体等 在带有数据粘贴的 vbe 工作表中

Dim int_fcol, int_frow, int_lcol, int_lrow As Integer
Dim rng_WorkRange As Range
Private Sub Worksheet_Activate()

int_fcol = ActiveSheet.UsedRange.Column
int_frow = ActiveSheet.UsedRange.Row
int_lcol = ActiveSheet.Cells(int_frow, Columns.Count).End(xlToLeft).Column
int_lrow = ActiveSheet.Cells(Rows.Count, int_fcol).End(xlUp).Row

'MsgBox "first columns is: " & int_fcol & vbCrLf & _
"first row is: " & int_frow & vbCrLf & _
"last column is: " & int_lcol & vbCrLf & _
"last row is: " & int_lrow
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

Dim int_ColumnWithHours As Integer
'   column with hours
int_ColumnWithHours = int_fcol + 1

If Target.Column = int_ColumnWithHours Then
    '   setting table range
    Set rng_WorkRange = ActiveSheet.Range(ActiveSheet.Cells(Target.Row, int_fcol), ActiveSheet.Cells(Target.Row, int_lcol))
    If Target.Value > 10 Then   '   check does more than 10 hour
        '   if true colour red
        rng_WorkRange.Interior.ColorIndex = 3
    Else    '   If Target.Value > 10
        '   if false white
        rng_WorkRange.Interior.ColorIndex = 0
    End If  '   If Target.Value > 10
End If  '   If Target.Column = int_fcol + 1
End Sub