Taking Tim879's response a little further try this:
Dim usr_Date As Date
Dim tempResponse As Variant
ShowDateBox:
tempResponse = InputBox("Please enter date.", "Date Required",
Format(Now(), "dd-mmm-yyyy"))
If tempResponse = "" Then Exit Sub
If IsDate(tempResponse) = False Then GoTo ShowDateBox
usr_Date = tempResponse
usr_Date is a validated response that can be used elsewhere.
tempResponse is a variant to allow for any entry and holds the answer to the
input box, which is then tested for blank or valid date.
A 'Cancel', blank or Null entry stops execution.
If anything other than a date is entered the user is forced back to the
input box.
The above input box also has a default entry of today's date, if you don't
need that remove the 'format' bit to leave
'tempResponse = InputBox("Please enter date.", "Date Required")
HTH
Giz