ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   other type values in array. (https://www.excelbanter.com/excel-programming/294426-other-type-values-array.html)

y

other type values in array.
 
Hi all,

I pass a range of cells to my function (it is called "Atteso" ).
Inside the function I must recognize if its elements contain non numeric values to prevent strange
behaviour.
I tried the usufel IsNumeric but it seems that empty cells pass the IsNumeric test. I tried also
IsNull but the problem persists. Below I report the part of code:

If IsNumeric(Atteso(i)) Or Not IsNull(Atteso(i)) Then
tmp = prob_weibull(Atteso(i), Atteso(i - 1), ParA, ParB)
If tmp < 0 Then Ret_value = Ret_value + (osserv(i) - tmp) ^ 2 / tmp
End If

and relative called procedure if wanted

Function prob_weibull(x2, x1, ParA, ParB As Double) As Double
With Application.WorksheetFunction
prob_weibull = .weibull(x2, ParA, ParB, True) - .weibull(x1, ParA, ParB, True)
End With
End Function

Debugging the function step by step I noted that it crashes when the debug window reports to me no
values for Atteso(5) (nor numeric neither null string "" ). What does it mean? Is Atteso(5) null?
And why it passses the control "Not IsNull(Atteso(5))"?
Being more precise Atteso(5) refers to untouched cell (any kind of formulas inside)

Which controls I must do to allow crashes to my code?

I hope is all well explained.

Thanks for all suggestions, Alex.


Tom Ogilvy

other type values in array.
 
Use isempty to test for an empty cell

if isnumeric(atteso(i)) and not isempty(atteso(i)) then

--
Regards,
Tom Ogilvy

"y" wrote in message
...
Hi all,

I pass a range of cells to my function (it is called "Atteso" ).
Inside the function I must recognize if its elements contain non numeric

values to prevent strange
behaviour.
I tried the usufel IsNumeric but it seems that empty cells pass the

IsNumeric test. I tried also
IsNull but the problem persists. Below I report the part of code:

If IsNumeric(Atteso(i)) Or Not IsNull(Atteso(i)) Then
tmp = prob_weibull(Atteso(i), Atteso(i - 1), ParA, ParB)
If tmp < 0 Then Ret_value = Ret_value + (osserv(i) - tmp) ^ 2 / tmp
End If

and relative called procedure if wanted

Function prob_weibull(x2, x1, ParA, ParB As Double) As Double
With Application.WorksheetFunction
prob_weibull = .weibull(x2, ParA, ParB, True) - .weibull(x1, ParA, ParB,

True)
End With
End Function

Debugging the function step by step I noted that it crashes when the debug

window reports to me no
values for Atteso(5) (nor numeric neither null string "" ). What does it

mean? Is Atteso(5) null?
And why it passses the control "Not IsNull(Atteso(5))"?
Being more precise Atteso(5) refers to untouched cell (any kind of

formulas inside)

Which controls I must do to allow crashes to my code?

I hope is all well explained.

Thanks for all suggestions, Alex.




Peter Huang

other type values in array.
 
Hi Alex,

I agree with Tom's suggestion. And I have tried the IsEmpty funtion, it
will tell us if a excel cell is empty.
If you still have any concern on this issue, please feel free to post here.


Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.



All times are GMT +1. The time now is 12:07 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com