View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Andrew[_56_] Andrew[_56_] is offline
external usenet poster
 
Posts: 130
Default How to write a VBA function which returns an integer

On Aug 13, 8:26*am, Don Guillett Excel MVP
wrote:
On Aug 13, 8:16*am, Andrew wrote:



On Aug 13, 7:00*am, Don Guillett Excel MVP
wrote:


On Aug 13, 7:51*am, Andrew wrote:


Hello,
I could use some help on the syntax of writing a function file in VBA
which takes two integers as input arguments and returns one integer..
Let's say my function was called TEST, and TEST took the average of
two integers.


It seems that the code should look like this:


AVG=TEST(2,8)


But all function files that i have seen in VBA use Call to execute the
function. *Can someone help me out with this?


thanks
Andy


Function mavg(x, y)
*mavg = (x + y) / 2
*End Function
But why not just use =avg


I'm not trying to calculate the average, I'm trying to get an example
of how to make a function. *So, consider this code where one
subroutine calls a function. *This won't work. *But how do I make it
work?


Sub fill_cells()
for k=1 to 10
cells(k,1)=mavg(k,5)
next
End Sub


Function mavg(x,y)
mavg=(x+y)/2
End Function- Hide quoted text -


- Show quoted text -


"If desired, send your file to dguillett I will only look
if:
1. You send a copy of this message on an inserted sheet
2. You give me the newsgroup and the subject line
3. You send a clear explanation of what you want
4. You send before/after examples and expected results."


In many programming languages having a function return a value is a
very fundamental construct. It is apparently not common in VBA,
otherwise it would not require an explanation any more than would an
assignment or a declaration. Thanks for your offer.