我需要在F和A1的值之间的差值小于7的所有行中都显示黄色。因此,如果F4-A1 <7,则行4应为黄色,那么如果F5 -A1&lt; 7,第5行应为黄色..直到我的行结束。如果差异大于7,则该行应为空白。我非常感谢你的帮助
我尝试编写以下代码:
Sub futurospgtos()
Dim i As Integer
For i = 15 To 1 Step -1
If IsDate(Cells(i, 6).Value) - Range("A1") < 7 Then
Rows(i).EntireRow.Interior.ColorIndex = 6
Else
Rows(i).EntireRow.Interior.ColorIndex = 3
End If
Next i
Application.ScreenUpdating = False
End Sub
答案 0 :(得分:0)
行If IsDate(Cells(i, 6).Value) - Range("A1") < 7 Then
有问题,因为IsDate将返回True或False值,而不是数字。你可以猜到为什么True - Range("A1") < 7
会导致错误。
我检查是否有日期,如果是,那么我尝试进行减法。虽然我会谨慎地减去这样的日期。
Sub futurospgtos()
Dim i As Integer
Application.ScreenUpdating = False
For i = 15 To 1 Step -1
If IsDate(Cells(i, 6).Value) And IsDate(Range("A1")) Then
If Cells(i, 6).Value - Range("A1") < 7 Then
Rows(i).EntireRow.Interior.ColorIndex = 6
Else
Rows(i).EntireRow.Interior.ColorIndex = 3
End If
End if
Next i
Application.ScreenUpdating = True
End Sub
如果遇到问题,可能是因为日期格式。请在评论中告诉我。