Averaging a range in VBA

W

WilMar

Would someone be so kind as to get me started in the right direction.

Creating a UDF that initially needs to evaluate the average of a range,
however, Average is not a VBA function. I've tried the Evaluate function
with the worksheet function Average but my syntax must be wrong.

Is there an easy way or am I missing something. Here is the basis of
what I'm trying to do:

Function YearAvg(rng As Range)
YearAvg = Average(rng)
End Function


Thanks!
Bill

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
 
D

Don Guillett

Am I missing something?
Why create a UDF to do what an excel function already does?
 
A

AA2e72E

There is an AVERAGE function. In order to use it within VBA, you need to
prefix it with WorkSheetFunction.

Sub xx()
a = WorksheetFunction.Average(Range("A1:A5"))
MsgBox a
'or Range("B1").Value = WorksheetFunction.Average(Range("A1:A5"))
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top