First Run this
Sub Reset_Events
'Keep this sub around. EnableEvents is tricky
'When in doubt, Run this.
Application.EnableEvents = True
End Sub
Then see if this works better
Private Sub Worksheet_Change(ByVal Target As Range)
' Check to see if cell G3 updated
If Target.Address <> "$G$3" Then Exit Sub
Application.EnableEvents = False
If Target.Value = "YES" Then
Range("E9:E12").Value = Range("J3:J6").Value
ElseIf Target.Value = "NO" Then
Range("E9:E12").ClearContents
End If
Application.EnableEvents = True
End Sub
Also
Sub Clearselected()
Application.EnableEvents = False
Range("e3").ClearContents
Range("e9", "e12").ClearContents
Range("H9", "H12").ClearContents
Range("i3", "i6").ClearContents
Range("K9", "K12").ClearContents
Application.EnableEvents = True
End Sub