![]() |
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. |
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. |
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