Excel中日期的条件格式

时间:2015-12-29 19:35:09

标签: excel vba excel-vba ms-office

我正在尝试为Excel中的日期创建条件格式。 当日期到期时,单元格应更改颜色。 如果在30天内到期,则应为红色。 如果它在不到60天内到期,它应该是黄色的。 如果它在90天内到期,它应该是绿色的。

如果将以下公式=DATEDIF(TODAY();E:E;"d")<30作为开始的条件格式设置规则。 奇怪的是,如果我把它放在一个单元格中,它就可以工作。它为&#34; E&#34;中的值返回值true。在不到30天内到期。但是,我不能在条件格式中应用此规则。它没有给我一个错误。它什么都不做......

这可以通过条件格式解决,还是应该编写VBA脚本?

2 个答案:

答案 0 :(得分:1)

enter image description here

我使用了以下公式:

=DATEDIF(TODAY(),E2,"d")<30
=DATEDIF(TODAY(),E2,"d")<60
=DATEDIF(TODAY(),E2,"d")<90

答案 1 :(得分:1)

好的,当你试图将条件格式应用到一个范围时,Excel会做一些它认为有用的古怪的东西(它通常更多的是障碍而不是帮助)。

请按照以下步骤操作:

  1. 选择其中包含日期值的第一个单元格,我假设E2
  2. 点击条件格式 - &gt;新规则。
  3. 选择“使用公式确定要格式化的单元格”。
  4. 粘贴公式=DATEDIF(TODAY(),E2,"d")<30并选择所需的任何格式选项。点击OK
  5. 点击“管理规则”返回条件格式。
  6. 在“应用于”字段中,将其更改为=E2:E200,或者该范围的最后一行。或者,如果您想要设置更具动态性的内容,则可以使用named range
  7. 该规则现在适用于整个范围。