原始問題連結
小編改了一下問題,做B欄的顏色要根據D欄和C欄的數值條件來變色:
D2 超過 32%,B5 變黃色
D7 超過 50 且 C7 超過 25%,B7 變黃色
以下是對應的 VBA 程式碼,會針對 D1:D34 進行判斷與上色。你可以將這段程式碼貼到工作表的 VBA 編輯器(建議放在該工作表的程式碼頁),然後執行即可:
Sub HighlightCColumn()
Dim i As Integer
Dim ws As Worksheet
Set ws = ActiveSheet
' 先清除舊的顏色
ws.Range("B1:B34").Interior.ColorIndex = xlNone
For i = 1 To 34
' E欄超過32%(0.32),C欄變黃色
If ws.Cells(i, "D").Value > 0.32 Then
ws.Cells(i, "B").Interior.Color = vbYellow
' D欄超過50且C欄超過25%,C欄變黃色
ElseIf ws.Cells(i, "D").Value > 50 And ws.Cells(i, "C").Value > 0.25 Then
ws.Cells(i, "B").Interior.Color = vbYellow
End If
Next i
End Sub
說明:
這段程式碼會依序檢查 d1 到 D34 的每一列。
只要符合任一條件,就會將該列的 B 欄設為黃色。
執行時會先清除原有顏色,避免重複上色。
如需自動監控變化,可將這段程式碼放到 Worksheet_Change 事件中,讓每次資料變動時自動執行。
沒有留言:
張貼留言