[英]vba - change the color of a cell based on defined values
如果要滿足條件,我想編寫一些代碼來更改單元格的內部顏色。 這種情況是:如果給定單元格的值(日期)如今天的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
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.