我试图编写一个这样做的Excel宏; 1.检查列A的特定值 2.如果A列具有特定值(文本),则在B列中搜索同一行中的另一个文本值。 3.如果B列也有我们要查找的内容,则比较C列和D列中该特定行的日期。 (A和B列在同一行中有特定的文字)
基本上,宏将搜索一张纸的所有行。如果两列都有我们要查找的内容,并且发生在同一行中,则比较两个日期。
`If (COLA = val1) & (COLB = valb) Then;
If COLC < COLD Then;
Color the row to Red
Else if COLC >= COLD Then;
Color the row to Green
Else
Color the row to Yellow
End If
Else
Color the row to Brown
End If`
| COLA | COLB | COLC |冷 | val1 | vala | 11.12.2018 | 20.12.2018 | | val1 | valb | 2018年10月10日| 2018年12月20日| | val2 | vala | 01.01.2019 | 15.02.2019 | | val3 | valc | 24.02.2019 | 11.02.2019 | | val2 | vald | 30.12.2018 | 20.12.2018 |
示例表
答案 0 :(得分:0)
Sub valsAndDates()
With Worksheets("sheet5").Range("A:D")
.FormatConditions.Delete
With .FormatConditions.Add(Type:=xlExpression, _
Formula1:="=and($a1=""vala"", $b1=""vala"", $c1<$d1, $c1<>text(,))")
.Interior.Color = vbRed
End With
With .FormatConditions.Add(Type:=xlExpression, _
Formula1:="=and($a1=""vala"", $b1=""vala"", $c1>=$d1, $c1<>text(,))")
.Interior.Color = vbGreen
End With
End With
End Sub