如果要满足条件,我想编写一些代码来更改单元格的内部颜色。这种情况是:如果给定单元格的值(日期)如今天的date <20,则该单元格的内部颜色会更改。
我希望将这些更改应用于右边的四个单元格(4列)。子仅适用于一个单元格。任何想法有什么问题吗?循环有问题吗?
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
If Target.Column = 8 Then
For i = 2 To i = 6
If Target.Offset(0, i).Value - Date < 20 Then
Target.Offset(0, i).Interior.Color = rgbRed
Else: Target.Offset(0, i).Interior.Color = rgbWhite
End If
Next i
End If
End Sub
答案 0 :(得分:-1)
For i = 2 To i = 6
将其更改为
For i = 2 To 5
要 5 ,因为您只想更改四个单元格,其偏移量为2、3、4和5。
更新
如果要在单元格值为空的情况下停止格式化,则在满足此条件时退出循环:
For i = 2 To 5
If Trim(Target.Offset(0, i).Value) = "" Then
Exit For
End If
...
Next i