Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.misc,microsoft.public.excel.worksheet.functions,microsoft.public.excel.newusers
|
|||
|
|||
![]()
Gary''s Student wrote...
.... Function superfoo(r As Range) As String Dim s As String m = Application.Max(r) superfoo = r.Find(What:=m, After:=ActiveCell).Address End Function This throws a #VALUE! error. What am I doing wrong? .... Find is a *method* rather than a property of the Range class. You can't run methods from udfs because udfs can't do anything other than return values to the calling cell. The Find method tries to change ActiveCell, but udfs can't do that. |
#2
![]()
Posted to microsoft.public.excel.misc,microsoft.public.excel.worksheet.functions,microsoft.public.excel.newusers
|
|||
|
|||
![]()
This seems to work...
Function superfoo2(r As Range) As String Dim m As Double m = Application.Max(r) superfoo2 = r.Find(What:=m, after:=r(r.Count)).Address End Function ------ Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware "Harlan Grove" wrote in message ups.com... Gary''s Student wrote... .... Function superfoo(r As Range) As String Dim s As String m = Application.Max(r) superfoo = r.Find(What:=m, After:=ActiveCell).Address End Function This throws a #VALUE! error. What am I doing wrong? .... Find is a *method* rather than a property of the Range class. You can't run methods from udfs because udfs can't do anything other than return values to the calling cell. The Find method tries to change ActiveCell, but udfs can't do that. |
#3
![]()
Posted to microsoft.public.excel.misc,microsoft.public.excel.worksheet.functions,microsoft.public.excel.newusers
|
|||
|
|||
![]()
Depends on the version of excel.
..find won't work with xl97. ..find works with xl2002+ I've blacked out what happens with xl2k (stupid brain!). Jim Cone wrote: This seems to work... Function superfoo2(r As Range) As String Dim m As Double m = Application.Max(r) superfoo2 = r.Find(What:=m, after:=r(r.Count)).Address End Function ------ Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware "Harlan Grove" wrote in message ups.com... Gary''s Student wrote... ... Function superfoo(r As Range) As String Dim s As String m = Application.Max(r) superfoo = r.Find(What:=m, After:=ActiveCell).Address End Function This throws a #VALUE! error. What am I doing wrong? ... Find is a *method* rather than a property of the Range class. You can't run methods from udfs because udfs can't do anything other than return values to the calling cell. The Find method tries to change ActiveCell, but udfs can't do that. -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.misc,microsoft.public.excel.worksheet.functions,microsoft.public.excel.newusers
|
|||
|
|||
![]()
Dave,
Thanks for that. I just tried it in XL2000 and it does not work there. However, that will not be a problem after the entire world upgrades. <g -- Jim Cone "Dave Peterson" wrote in message Depends on the version of excel. ..find won't work with xl97. ..find works with xl2002+ I've blacked out what happens with xl2k (stupid brain!). Jim Cone wrote: This seems to work... Function superfoo2(r As Range) As String Dim m As Double m = Application.Max(r) superfoo2 = r.Find(What:=m, after:=r(r.Count)).Address End Function ------ Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.misc,microsoft.public.excel.worksheet.functions,microsoft.public.excel.newusers
|
|||
|
|||
![]()
Thanks for posting back. That's the way I (kind of) remember it.
Jim Cone wrote: Dave, Thanks for that. I just tried it in XL2000 and it does not work there. However, that will not be a problem after the entire world upgrades. <g -- Jim Cone "Dave Peterson" wrote in message Depends on the version of excel. .find won't work with xl97. .find works with xl2002+ I've blacked out what happens with xl2k (stupid brain!). Jim Cone wrote: This seems to work... Function superfoo2(r As Range) As String Dim m As Double m = Application.Max(r) superfoo2 = r.Find(What:=m, after:=r(r.Count)).Address End Function ------ Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware -- Dave Peterson -- Dave Peterson |
#6
![]()
Posted to microsoft.public.excel.misc,microsoft.public.excel.worksheet.functions,microsoft.public.excel.newusers
|
|||
|
|||
![]()
Thank you Harlan & Jim (once again!)
I don't know if superfoo2 is perfect, but it is a heck of a lot better than what I originally posted. -- Gary's Student "Jim Cone" wrote: This seems to work... Function superfoo2(r As Range) As String Dim m As Double m = Application.Max(r) superfoo2 = r.Find(What:=m, after:=r(r.Count)).Address End Function ------ Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware "Harlan Grove" wrote in message ups.com... Gary''s Student wrote... .... Function superfoo(r As Range) As String Dim s As String m = Application.Max(r) superfoo = r.Find(What:=m, After:=ActiveCell).Address End Function This throws a #VALUE! error. What am I doing wrong? .... Find is a *method* rather than a property of the Range class. You can't run methods from udfs because udfs can't do anything other than return values to the calling cell. The Find method tries to change ActiveCell, but udfs can't do that. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Finding Location of Maximum Value in 2D Array | Excel Discussion (Misc queries) | |||
How to know location of cell found with MIN/MAX? | Excel Discussion (Misc queries) | |||
finding cell location | Excel Discussion (Misc queries) | |||
Help creating a report from a data table | Excel Discussion (Misc queries) | |||
Question to Bob Phillips (or whoever...) | Excel Worksheet Functions |