スコアボードを実装しているスプレッドシートがあります。 私が必要とする振る舞いは、スコア値を持つセルが列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
。 –
ああ。式を介して値を変更するターゲットでは、変更イベントはトリガーされません。 'Worksheet_Calculate'イベントで作業する必要があります。 –
セルe5には、ユーザーがセルf5に数値を入力すると、その値が10ポイント増加する数式があります。ユーザー入力1セルe5が10ポイント増加すると、ユーザー入力2セルe5が20ポイント増加します。 –