Since you are asking for a macro solution, here's one way. You should know that the VBA approach for cell protection is usually less effective than the standard cell-lock-and-sheet-protection method, because the code, unless very extensive (so why bother) allows changes to be made in formatting and spell check. You are better off with standard protection, but here's the code nonetheless. Right click on your sheet tab, left click on View Code, and paste this in:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A3")) Is Nothing Then
Application.EnableEvents = False
MsgBox "Sorry, this cell is protected.", 16, "Access denied."
Application.Undo
Application.EnableEvents = True
End If
End Sub