我有一個電子表格,其中實現了評分板。 我需要的行爲是當具有分數值的單元格在列b附近的單元格上升時,將它的顏色更改爲綠色,當單元格分數值下降到靠近它的單元格時,它將顏色更改爲紅色。VBA從單元格更改前保存值
的單元格範圍,其中所述得分變化是E5:E67
簡而言之: 當用戶輸入F列的數,得分提高列E,並且在列b(在同一行)顏色必須變成綠色或紅色
我做了這個VBA代碼,但沒有運氣。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("e5:e67")) Is Nothing Then
If Target.Column = 5 Then
thisRow = Target.Row
Dim OldValue As Variant
Application.EnableEvents = False
Application.Undo
OldValue = Target.Value
Application.Undo
Application.EnableEvents = True
If OldValue < Target.Value Then
Range("b" & thisRow).Interior.ColorIndex = 4
ElseIf OldValue > Target.Value Then
Range("b" & thisRow).Interior.ColorIndex = 3
End If
End If
End If
End Sub
當我在單元格中輸入一些F5 E5上的得分提高,但B5單元格不改變顏色爲綠色。 –
啊好的。在通過公式更改值的目標上未觸發更改事件。你需要使用'Worksheet_Calculate'事件。 –
在單元格e5中,我有一個公式,當用戶在單元格f5中輸入一個數字時,它的值增加10個點。如果用戶輸入1個單元格e5增長10個點,如果用戶輸入2個單元格e5增長20個點。 –