The user can put anything in that so it is no wonder you get odd results.

I would recommend a date control method. You can use this as an example:
http://vbaexpress.com/forum/showthread.php?p=176132