ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Trouble with Average function (https://www.excelbanter.com/excel-programming/348102-trouble-average-function.html)

Terry K

Trouble with Average function
 
Hello all,
Does anyone happen to have any ideas as to why the following code does
not work? It is throwing runtime error 1004, Unable to get the average
property of the worksheet funation class.

lastrow = Sheet2.Cells(Rows.Count, 2).End(xlUp).Row
'myavg = Application.WorksheetFunction.Average("b2:b" & lastrow)
'mymax = Application.WorksheetFunction.max("b2:b" & lastrow)
'mymin = Application.WorksheetFunction.min("b2:b" & lastrow)

I have tried to use the average function on the worksheet and it does
work. The min and the max function also throw the same error.

From what I have read on this site this should be the correct syntax.

Any suggestions would be appreciate.
Thanks in advance,
Terry (stumped) <:)


Gary Keramidas

Trouble with Average function
 
try these

myavg = Application.WorksheetFunction.Average(Range("b2:b" & lastrow))
mymax = Application.WorksheetFunction.Max(Range("b2:b" & lastrow))
mymin = Application.WorksheetFunction.Min(Range("b2:b" & lastrow))

--


Gary


"Terry K" wrote in message
ups.com...
Hello all,
Does anyone happen to have any ideas as to why the following code does
not work? It is throwing runtime error 1004, Unable to get the average
property of the worksheet funation class.

lastrow = Sheet2.Cells(Rows.Count, 2).End(xlUp).Row
'myavg = Application.WorksheetFunction.Average("b2:b" & lastrow)
'mymax = Application.WorksheetFunction.max("b2:b" & lastrow)
'mymin = Application.WorksheetFunction.min("b2:b" & lastrow)

I have tried to use the average function on the worksheet and it does
work. The min and the max function also throw the same error.

From what I have read on this site this should be the correct syntax.

Any suggestions would be appreciate.
Thanks in advance,
Terry (stumped) <:)




Andrew Taylor

Trouble with Average function
 
Try
myavg = Application.WorksheetFunction.Average(Range("b2:b" & lastrow))


and similarly for the others.

The problem with your code is that Average etc expect a Range as
argument,
but you've given them a string - more or less the equivalent of
the worksheet function =AVERAGE("B2:B6") instead of
=AVERAGE(B2:B6)

On a worksheet you can use INDIRECT to turn a string to a range,
e.g. =AVERAGE(INDIRECT("B2:B6"))
Or if A1 contains the last row number:
=AVERAGE(INDIRECT("B2:B"&A1))


Hope this helps
Andrew

Terry K wrote:
Hello all,
Does anyone happen to have any ideas as to why the following code does
not work? It is throwing runtime error 1004, Unable to get the average
property of the worksheet funation class.

lastrow = Sheet2.Cells(Rows.Count, 2).End(xlUp).Row
'myavg = Application.WorksheetFunction.Average("b2:b" & lastrow)
'mymax = Application.WorksheetFunction.max("b2:b" & lastrow)
'mymin = Application.WorksheetFunction.min("b2:b" & lastrow)

I have tried to use the average function on the worksheet and it does
work. The min and the max function also throw the same error.

From what I have read on this site this should be the correct syntax.

Any suggestions would be appreciate.
Thanks in advance,
Terry (stumped) <:)



Terry K

Trouble with Average function
 
Thank you very much, it worked like a charm.
Terry



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

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