Use the masked edit control, which are great for dates.

Alternatively, try something like (note use of validate event:
VB Code:
  1. Private Sub Text1_Validate(Cancel As Boolean)
  2. If IsDate(Text1) Then
  3.     Text1.BackColor = &H80000005
  4.     Text1 = FormatDateTime(Text1, vbShortDate)
  5. Else
  6.     Cancel = True
  7.     Text1.BackColor = vbRed 'or Beachbum would recommend a msgbox right here
  8. End If
  9. End Sub