I marked all the cells as unlocked with the exception of D2. The worksheet was locked and the only option box checked in the protect sheet box was allow the user to select unlocked cells. The password to unlock the sheet is 123, you will see that in the code.
When the user uses the sheet they will not be able to click into cell D2.
If they leave A2 blank or fail to check the box they get a message.
Once D2 has a value in it then the input button will appear to do nothing. In actuality the code is always checking to see if D2 has a value or not. Once there is a value the code will always exit immediately after discovering cell D2 already has a value. D2 is always locked to a user, regardless of whether it is empty or not.
You should also lock the code.
While in the code window choose the tools drop down menu, options, protection tab, check the box and enter a password.
Good Luck. 
Sub Test()
With Worksheets("Sheet1")
If .Range("D2") <> "" Then Exit Sub
If .Range("C2") = True And .Range("A2") <> "" Then
.Unprotect Password:=123
.Range("D2").Value = .Range("A2").Value
.Protect Password:=123
Else
MsgBox "You must enter your name and check the box."
End If
End With
End Sub
Bookmarks