このコードをワークシート内に配置してみてください:
Private Sub Worksheet_Change(ByVal Target As Range)
' Check target range has changed
If (Not Intersect(Target, Range("D8:T800")) Is Nothing) Then
' Prevent recusrive looping
Application.EnableEvents = False
' Refresh validation circles
Target.Worksheet.CircleInvalid
Application.EnableEvents = True
End If
End Sub
指定された範囲外からの計算により、これらのセルの値が変更された場合、これは機能しないことに注意してください。
また、CircleInvalid メソッドはワークシート全体に適用されます。
ターゲットが検証された場合、条件付きでコードを編集して「何かを行う」ことを試みることができます。これにより、無効なセルの周囲に赤い円が表示される代わりに、その形式が変更されます。
**PSEUDO-CODE**
For each cell in Target.Range
cell.colour = bright red
Next cell