Excel列条件格式

Excel列条件格式,excel,excel-formula,worksheet-function,conditional-formatting,vba,Excel,Excel Formula,Worksheet Function,Conditional Formatting,Vba,我有一个Excel工作表,我需要对其应用一些条件格式,但我对如何进行感到困惑 我需要做的是,如果另一列(E列)中的日期超过五天,并且如果另一列(I列)中没有值,则将其中一列的值(在我的示例中为G列)设置为红色 我还需要它,以便在第二个条件列(第I列)中添加值时,第一个值(第G列)恢复为常规黑色 另一个问题是,即使在保存或运行下面的代码之前使用满足要求的条件格式,在保存或运行下面的代码之后,CF也不会持续存在: 这是我们的“显示最新”或折叠代码: Sub Collapse1() ' ' C

我有一个Excel工作表,我需要对其应用一些条件格式,但我对如何进行感到困惑

我需要做的是,如果另一列(E列)中的日期超过五天,并且如果另一列(I列)中没有值,则将其中一列的值(在我的示例中为G列)设置为红色

我还需要它,以便在第二个条件列(第I列)中添加值时,第一个值(第G列)恢复为常规黑色

另一个问题是,即使在保存或运行下面的代码之前使用满足要求的条件格式,在保存或运行下面的代码之后,CF也不会持续存在:

这是我们的“显示最新”或折叠代码:

    Sub Collapse1()
'
' Collapse Macro
' Collapses rows to show only the most recent issuance of each unique Document Number
'

'
    Range("Table1[[#Headers],[Document Number]]").Select
    Cells.FormatConditions.Delete
    Selection.AutoFilter
    Selection.AutoFilter
    ActiveSheet.ListObjects("Table1").Sort. _
        SortFields.Clear
    ActiveSheet.ListObjects("Table1").Sort. _
        SortFields.Add Key:=Range("Table1[Document Number]"), SortOn:= _
        xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveSheet.ListObjects("Table1").Sort. _
        SortFields.Add Key:=Range("Table1[Issuance" & Chr(10) & "Date]"), SortOn:=xlSortOnValues _
        , Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveSheet.ListObjects("Table1"). _
        Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("Table1[Document Number]").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=COUNTIF($A$12:A12,A12)>1"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("Table1[[#Headers],[Document Number]]").Select
    ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:=RGB _
        (255, 255, 255), Operator:=xlFilterNoFill
End Sub

不同的解释。请选择G列和主页>样式-条件格式,新规则…,使用公式确定要格式化的单元格,并格式化此公式为真的值:

=AND(E1<>"",E1<TODAY()-5,I1="")

=和(E1“”,E1不同的解释。请选择G列和主页>样式-条件格式,新规则…,使用公式确定要格式化的单元格,并格式化值,其中此公式为真:

=AND(E1<>"",E1<TODAY()-5,I1="")

=和(E1)”,E1Use
=和((今天-E2)使用
=和((今天-E2)这两种方法非常有效,只有一个小的异常。当我保存文件或运行“显示历史记录”时宏格式化将被清除。有没有办法设置它以使格式化始终处于活动状态?不,它不是SharePoint。它只是一个Excel工作表,我们用于管理其中一个流程。该工作表上有两个宏。一个用于显示整个历史,另一个仅显示最近的历史。在我们的一个项目中,我需要能够访问某些信息以及设置G列格式以运行已请求的新报告。在我运行宏之前,您提供的公式和步骤非常有效。:(感谢您帮助编辑此问题。我不知道如何操作:)只有一个小小的例外,那就是当我保存文件或运行“显示历史记录”时宏格式化将被清除。有没有办法设置它以使格式化始终处于活动状态?不,它不是SharePoint。它只是一个Excel工作表,我们用于管理其中一个流程。该工作表上有两个宏。一个用于显示整个历史,另一个仅显示最近的历史。在我们的一个项目中,我需要能够访问某些信息以及设置G列格式以运行已请求的新报告。在我运行宏之前,您提供的公式和步骤非常有效。:(感谢您帮助编辑此问题。我不知道如何操作:)