View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Ron Rosenfeld Ron Rosenfeld is offline
external usenet poster
 
Posts: 5,651
Default please help about handling "#NUM!" error !

On Fri, 7 May 2010 11:26:51 +0200, "Nenad Tosic"
wrote:

Hello all,
this time I will be much shorter:

Is there any way that I can "handle" errors. When Excels' <function returns
error ("#NUM!") (in a worksheet)
I may type in a cell "=IFERROR(<function; -5.0) (my local settings needs
semicolumn as argument separator)
in order to display either value that <function returns (if it is not
error) or -5.0 if it returns error of some types
("#N/A", "#VALUE!", "#REF!", "#DIV/0!", "#NUM!", "#NAME?" or "#NULL!")).

Is there any mechanism that I may use in order to "catch" error that returns
"WorksheetFunction.<function"
inside VBA code (User Defined Function)? If I type something like:

X=WorksheetFunction.IsError(WorksheetFunction.<fu nction, -5.0)

and step through UDF ("F8") everything is OK, variables get their proper
values, ... until that assignment, if <function
returns "#NUM!". If <function returns some "proper" value everything is OK
until next assignment in thich <function
returns "#NUM!". My UDF simply "exits", all variables lose their values, as
if function is exited (normaly or abnormaly).

Thanks in advance
Nenad


You could try using the Evaluate method.

e.g.:

====================================
Option Explicit
Sub TestError()
Dim r As Variant

r = WorksheetFunction.IfError(Evaluate("IRR({10,20})") , -5)

Debug.Print r
End Sub
=======================================

will print -5 even though the formula gives a #NUM error.
--ron