我有一列的O或C表示打开和关闭。我的另一个专栏有日期。我想将日期与今天的日期进行比较,并使用打开和关闭来帮助确定是否需要更改颜色以标记对它的关注。这是我迄今为止的代码,但它给了我错误。
Sub datee()
Dim DueDate As Date
Dim OpenClosed As Integer
Dim now As Date
DueDate = Range("D5:D8").Value ----This is the line that I am getting my error on.
OpenClosed = Range("E5:E8").Value
If OpenClosed = C Then
With Selection.Interior
activecell.Interior.ColorIndex = 0
End With
ElseIf OpenClosed = O Then
If DueDate < now Then
With Selection.Interior
activecell.Interior.ColorIndex = 255
End With
ElseIf OpenClosed = O Then
If DueDate > now Then
With Selection.Interior
activecell.Interior.ColorIndex = 0
End With
End If
End If
End If
End Sub
试试这个代码。我添加了第三种颜色以获得更多选择。这取决于你是否想改变它。
Sub date()
Dim i As Integer
For i = 5 To 8
If Range("E" & i).Value = "C" Then
Range("D" & i).Interior.COLOR = vbGreen
Else
' all of these will be assumed to be "O" or not "C"
If CDate(Range("D" & i).Value) < CDate(Date) Then
Range("D" & i).Interior.COLOR = vbRed
Else
Range("D" & i).Interior.COLOR = vbWhite
End If
End If
Next i
End Sub
我不确定你想给什么细胞上色。所以我假设日期单元格是彩色的。如果你想包括OpenClosed列,只需修改行如下:
Range("D" & I & ":E" & i).Interior.COLOR = vbRed