View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Trap a DateValue Error

On Error Resume Next
a = DateValue(ActiveCell)
if err.Number < 0 then
msgbox "Invalid date"
err.Clear ' not really needed if On Error Goto 0 is used as below
End if
On Error goto 0

--
Regards,
Tom Ogilvy

"Otto Moehrbach" wrote in message
...
Excel 2003, WinXP Home
In VBA:
I want to validate the ActiveCell entry for a date.
I learned before that the IsDate function finds a valid date in just about
everything.
I learned to use the DateValue(ActiveCell) for this purpose.
But the only way I can see to trap the error is to use an On Error GoTo

Err
trap and set the DateValue to something like:
a = DateValue(ActiveCell)
to force an error.
That works fine but it seems a round-about way to get there.
What I was hoping for was something like:
If IsError(DateValue(ActiveCell)) Then........
But this triggers a Type Mismatch.
How do I trap the error without the round-about method above?
Thanks for your help. Otto