Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
I'm a bit new to excel VBA and wondered if it is possible to pass a UDF
reference as an argument to a UDF as in: Sub S1( subReference ) subRefrence() End Sub Sub S2() End Sub Call S1(S2) If it can not be done cleanly, is there a workaround such as passing the name of the function as an argument and then somehow evaluating it inside the UDF? Thanks for any clues. |
#2
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
No, pass a key which is evaluated
Sub S1( idx) Select Case idx Case 1 : Call S2 Case 2: Call S3 etc. End Select End Sub Sub S2() End Sub Call S1(num) -- HTH Bob Phillips (remove nothere from email address if mailing direct) "puff" wrote in message ups.com... I'm a bit new to excel VBA and wondered if it is possible to pass a UDF reference as an argument to a UDF as in: Sub S1( subReference ) subRefrence() End Sub Sub S2() End Sub Call S1(S2) If it can not be done cleanly, is there a workaround such as passing the name of the function as an argument and then somehow evaluating it inside the UDF? Thanks for any clues. |
#3
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
First, this sounds like it's gonna cause a debugging nightmare, but this worked
for me. A sub or a function??? Option Explicit Sub testme() Dim myStr As String Dim myVar As Variant myStr = "myFunct" myVar = Application.Run(myStr, 12) MsgBox myVar myStr = "mySub" Application.Run myStr End Sub Function myFunct(myLong As Long) As Long myFunct = myLong * 3 End Function Sub mysub() MsgBox "hi from mysub" End Sub I don't think I'd use it. puff wrote: I'm a bit new to excel VBA and wondered if it is possible to pass a UDF reference as an argument to a UDF as in: Sub S1( subReference ) subRefrence() End Sub Sub S2() End Sub Call S1(S2) If it can not be done cleanly, is there a workaround such as passing the name of the function as an argument and then somehow evaluating it inside the UDF? Thanks for any clues. -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Thanks Dave, that is what I needed.
As to why, imagine a few hundred tables that must be build where the code to build differs by only a few parameters AND a single function that is unique to the table. One could make a general build routine with a VERY LONG select or simply pass the function by name and run it as you suggest. Coming from an environment where pointers and references are generally available, I prefer the Run solution. Thanks again. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Passing a range name as an argument to the Index Function | Excel Discussion (Misc queries) | |||
How do I set up an argument which asks for multiple criteria | Excel Discussion (Misc queries) | |||
text argument in vlook up which has a "" | Excel Worksheet Functions | |||
read in Vlookup an argument that has quotations(") | Excel Discussion (Misc queries) | |||
Passing Cell Address to Offset | Excel Worksheet Functions |