![]() |
Passing a UDF as an argument to a UDF
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. |
Passing a UDF as an argument to a UDF
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. |
Passing a UDF as an argument to a UDF
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 |
Passing a UDF as an argument to a UDF
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. |
All times are GMT +1. The time now is 11:51 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com