User defined function

  • Thread starter Thread starter Yugi Gokavarapu
  • Start date Start date
Y

Yugi Gokavarapu

Hello There,

When I write User Defined Function as below and use it, it returns
the output in the function argument dialouge box, but the out put is
not shown in the cell I wanted, instead I still see the input function
with arguments.

Function test(num)
Select Case num
Case Is > 0
test = "Positive"
Case Is = 0
test = "Zero"
Case Is < 0
test = "Negative"
End Select
End Function

Your help is appreciated!!
 
Try:
Function test(num) As String
Select Case num
Case Is > 0
test = "Positive"
Case Is = 0
test = "Zero"
Case Is < 0
test = "Negative"
End Select
End Function

You must declare the 'data type' to be returned as shown.
 
Yugi Gokavarapu formulated on Monday :
Sorry, I do not see any better

Sorry!!!
I forgot to include that you must declare your function with 'public'
scope...

Public Function test(num) As String
'...code
End Function
 
Ron Rosenfeld laid this down on his screen :
I'm guessing your recommendations are from your background in VB. And it may
be that I'm incorrect in how this relates to the OP's problem, but:

With VBA, if you don't declare a return data type, it will be of type Variant
and should be OK. So, although it is good practice, it is not necessary and
I don't believe it is the reason for his problem. Also, in VBA, if a Function
is not declared as Private, it will be Public. It is usually not necessary
to explicitly declare it as Public.

Thanks, Ron. You're eval is correct since I tend to think in terms that
leave nothing to be ambiguous to the task at hand. I don't normal use
UDFs and so my lack of savvy!<g>
 
And if that is the problem, to correct it, FIRST change the cell format to General; THEN edit the cell.  You don't need to change anything.  Just put your cursor at the end of the formula in the function bar; or open the dialog box, and hit <enter>

Ron,

Thank you for your swing into this!

I have changed the cell type to General, and THEN edit the cell. I
see cell value as FALSE. Whereas I see the right output of function in
the function argument box.
Also, I noticed that when the menu Formulas -> Show formula option
enabled, I see the formula in the cell. When I disable to Show
Formula, I see FALSE.

Any suggestions?
 
Back
Top