Hi,
For your first question, VBA has built in Intersect and Union functions to compare ranges, but unfortunately does not contain a Difference function. So I am going to attempt to write one here (untested), and hopefully it will work for you...
You simply pass the input range into this function, and it will return TRUE if the selected range is valid, and FALSE is it is invalid. You would call this function after the range has been selected, something like this:
For your second question, yes I believe the IsDate() function will work just fine for you. The alternative would be to use a DatePicker so that the input can never not be a date...
I hope this helps
Bookmarks