我试图突出显示48小时之前的细胞。我现在的代码在下面并突出显示了细胞但是当我试图取消不超过48小时的细胞时,它们会保持突出显示。 我是VBA代码的新手,在阅读了很多页面之后,这让我很难过。对此有任何建议将不胜感激。
For i = 1 To cell.Rows.Count
If cell.Cells(i, 1).Value > Date - 48 Then
cell.Cells(i, 1).Interior.Color = xlNone
If cell.Cells(i, 1).Value < Date - 48 Then
cell.Cells(i, 1).Interior.Color = vbRed
End If
End If
Next i
由于
答案 0 :(得分:0)
如果价值超过48小时或2天,您是否希望它变红?如果单元格包含时间,那么我假设需要48小时,因此您需要将其与Now
而不是Date
进行比较。试试这个:
For i = 1 To cell.Rows.Count
With cell.Cells(i, 1)
If .Value > Now - 2 Then
.Interior.ColorIndex = xlNone
Else
.Interior.Color = vbRed
End If
End With
Next i
或稍微整洁:
For Each leftmostcell In cell.Columns(1).Cells
If leftmostcell.Value > Now - 2 Then
leftmostcell.Interior.ColorIndex = xlNone
Else
leftmostcell.Interior.Color = vbRed
End If
Next
就个人而言,我不会把我的范围称为“单元格”,因为它看起来很混乱。您可能需要考虑重命名它。