Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count =1 and Target.Address = "$J$5" and Then    
      With Application
        .EnableEvents = False
        .ScreenUpdating = False
      End With

      [D4].Interior.ColorIndex =iif([J5].value=[D4].value,16,xlnone)
      If [D4].Interior.ColorIndex =16 then cells(1,columns.count).end(xltoleft).offset(,1)=Now()

      With Application
        .EnableEvents = True
        .ScreenUpdating = True
      End With
    End If
End Sub