Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect([d2:d8], Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
Application.ScreenUpdating = False
NewValue = Target
Application.Undo
OldValue = Target
Target = NewValue
For Each c In [b2:b9]
If c.Value = OldValue Then c.Value = Target
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub