Home |
Search |
Today's Posts |
#12
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi, Joe,
the caller is another subroutine, so I'd rather not do that, unless that's the only way. It seems that Dave's suggestion with my small modification did the trick. At least, for now it's working fine :) Thanks, Best Regards deltaquattro On 5 Feb, 22:48, "Joe User" <joeu2004 wrote: I wrote: * mySqrt = CVErr(xlErrNum) But I would do that only if you might be passing the error back to Excel -- * that is, the caller might a UDF call in an Excel formula. ----- original message ----- "Joe User" <joeu2004 wrote in message ... "deltaquattro" wrote: Function MySqrt(x as Double) As Double Dim err As Boolean If x <0 Ihen *err=True *Exit Function [....] However, err cannot be passed back to the caller! I suspect the following is what you want: Function mySqrt(x As Double) If x < 0 Then * mySqrt = CVErr(xlErrNum) Else * mySqrt = Sqr(x) End If End Function The key is: *the UDF must be a variant type (implicit). See Help for "cell error values" for other Excel error constants. ----- original message ----- "deltaquattro" wrote in message .... Hi, after some discussions on the ng I decided to keep input data checking inside my functions. This prompts the problem of how to return an error code from the function: for example Function MySqrt(x as Double) As Double Dim err As Boolean If x <0 Ihen *err=True *Exit Function Else err=False x = Application.Worksheetfunction.sqrt(x) End If End Function However, err cannot be passed back to the caller! I've read about different workarounds, and I would like to know your opinion on them, or just which is your approach: 1. convert *the Function to a Sub (easiest, but maybe slower?) 2. pass err ByRef (best?) 3. declare Function As Variant. Variant variables, however, cause a slowdown of the code, so would this be any faster than 1. ? 4. use global variables (I'd rather not). Thanks in advance, Best Regards, Sergio Rossi |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Unknown error in function, and how to return value? | Excel Worksheet Functions | |||
Mode function - return default value rather than #N/A error if no | New Users to Excel | |||
Weibull function return an error | Excel Programming | |||
Error Return Value from and INDEX(A:2,MATCH()) function | Excel Worksheet Functions | |||
Excel return error code | Excel Programming |