簡體   English   中英

VBA-根據定義的值更改單元格的顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM