Private Sub Worksheet_Change(ByVal Target As Range)
Dim IsChanged As Boolean, I As Integer
Dim Valist As Variant: Valist = Array("$A$8", "$D$8", "$A$10", "$A$12")
Dim Zone As Range: Set Zone = Range(Join(Valist, ","))
If Target.Count = 1 And Not Intersect(Target, Zone) Is Nothing Then
Application.EnableEvents = False
For I = 0 To UBound(Valist)
Select Case True
Case IsChanged: Range(Valist(I)) = ""
Case Target.Address = Valist(I): IsChanged = True
End Select
Application.EnableEvents = True
Next
End If
End Sub