У меня есть Excel, дизайн которого, если целевое значение не достигнуто, ячейка H1 автоматически мигает. Можно остановить этот код VBA, введя 1 в ячейку D1. Но после того, как я снова удаляю 1 из ячейки D1, он снова мигает, пока я не запустить макрос вручную. ниже приведен код в модуле
Sub BlinkCell()
Dim CellToBlink As Range
Set CellToBlink = Range("H1")
Do While Range("F20").Value < Range("B1").Value
CellToBlink.Interior.ColorIndex = 44
Application.Wait (Now + TimeValue("0:00:01"))
CellToBlink.Interior.ColorIndex = 0
Application.Wait (Now + TimeValue("0:00:01"))
CellToBlink.Interior.ColorIndex = 44
DoEvents
If Range("D1").Value = 1 Then Exit Do
Loop
If Range("F20").Value >= Range("B1").Value Then
CellToBlink.Interior.Color = vbWhite
End If
End Sub
Ниже приведен код в рабочей таблице
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B5:E19")) Is Nothing Then
Range("D1").ClearContents
Call BlinkCell
End If
End Sub