Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
puff
 
Posts: n/a
Default 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.

  #2   Report Post  
Posted to microsoft.public.excel.misc
Bob Phillips
 
Posts: n/a
Default 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.



  #3   Report Post  
Posted to microsoft.public.excel.misc
Dave Peterson
 
Posts: n/a
Default 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
  #4   Report Post  
Posted to microsoft.public.excel.misc
puff
 
Posts: n/a
Default 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.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Passing a range name as an argument to the Index Function Michael Sharpe Excel Discussion (Misc queries) 3 September 5th 12 01:33 PM
How do I set up an argument which asks for multiple criteria HiTekDiver Excel Discussion (Misc queries) 3 August 29th 05 11:32 PM
text argument in vlook up which has a "" carlosgdlf Excel Worksheet Functions 6 August 3rd 05 01:46 PM
read in Vlookup an argument that has quotations(") carlosgdlf Excel Discussion (Misc queries) 1 August 2nd 05 05:56 PM
Passing Cell Address to Offset Bob Excel Worksheet Functions 2 December 1st 04 04:56 PM


All times are GMT +1. The time now is 08:12 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"