【问题标题】:Highlighting cell if one date is after another?如果一个日期在另一个日期之后突出显示单元格?
【发布时间】:2015-09-29 10:54:41
【问题描述】:

我有几列数据,我试图突出显示第二个日期出现在第一个日期之前的那些实例,以显示数据中是否有任何错误。

ID  Start Date  End Date
1    01/01/15    01/15/15
2    01/06/15    01/02/15
3    01/06/15    01/03/15
4    01/11/15    01/13/15

我希望能够突出显示结束日期早于开始日期的单元格。我被引导到的所有日期条件格式链接都是基于当前日期或一个特定日期,我有点迷路了。

谢谢!

【问题讨论】:

  • 显示您已经尝试/阅读的内容。

标签: excel date conditional-formatting


【解决方案1】:

日期可以用

也可以更直接地进行。当预定义的条件规则都不起作用时,关键是使用Conditional Formatting/New Rule/Use a formula to determine which cells to format。如果您显示的数据从 A1 开始(因此 01/15/15 在 C2 中),请转到 C2 并创建公式给出的条件格式设置规则

= C2 < B2

然后 -- 只需将格式粘贴到 C 列中的其余日期

【讨论】:

    【解决方案2】:

    如果您没有编码经验,这有点复杂。解决这个问题的最好方法是自己编写一个 VBA 脚本。所以我将一步一步地用完整的代码来做这件事。

    1) 打开您的 Excel 文件,然后转到“开发人员”选项卡。

    (如果您没有看到它,请转到 File->Options,单击 Customize Ribbon,然后在主选项卡上添加单击 Developer。

    2) 单击开发人员选项卡下的 Visual Basic 按钮。

    3a) 粘贴以下代码:

    Sub ColorCellsWithIncorrectEndDate() Dim Rows Rows = ActiveSheet.UsedRange.Rows.Count For i = 2 To Rows If Cells(i, 2).Value > Cells(i, 3).Value Then Cells(i, 3).Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With End If Next End Sub

    3b) 如果您的 Excel 工作表与上面列出的格式完全相同,则上述代码有效。

    --如果单元格不在同一列中,那么您将调整“Cells(i,#)”中的数字,使数字与列相对应。 (即 A=1,B=2,C=3...)。现在它正在检查 B 列(开始日期)是否大于 C 列(结束日期)。如果为真,则为单元格 C 着色。

    --如果单元格不在正确的行中,则调整显示“For i = # To Rows”的行,数字直接对应于行号。

    --如果您想要不同的颜色,请访问此网站:http://www.w3schools.com/tags/ref_colorpicker.asp,并将“65535”替换为任何一个有效数字。

    4) 保存并退出 Visual Basic

    5) 返回您的 Excel 工作表并单击 Developer->Macros。 (会出现一个对话框)

    6) 在对话框中选择“ColorCellsWithIncorrectEndDate”,然后单击“运行”。

    7) 所有超过开始日期的结束日期都将以黄色(或您选择的任何颜色)突出显示

    希望这会有所帮助!

    -致盲雾

    【讨论】:

      猜你喜欢
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      相关资源
      最近更新 更多