passing arguments by postion through application.run

B

ben

I am trying to call a macro from a seperate workbook than the one that called
it, but the sub calling the other sub needs to pass named arguments
(noh(),nohl()) but the application.run method does not allow the passing of
named arguments, it says it they need to be passed by postion. I'm not quite
sure what that means, how do I cause that other macro to be open
"workbook1!module1.macro",noh,nohl while passing those arguments (variables)
either with application.run or another syntax?
 
T

Tom Ogilvy

ApplicationRun "workbook1.xls!module1.macro",noh,nohl

where noh and noh1 ae the variables holding the values passed.
 
B

ben

Application.Run toexp + ".xls!module1.otay", noh, nohl
is the exact code i am using where
toexp = "BagSof1" I have ran in break just to be sure the variable is
assigned correctly.
and it still does not call the macro, excel hovers over that statement like
it's trying to load a workbook or something then skips it with 'on error
resume next' but when i turn it off it gives me an error box that says only
'400' with no explination and the help button does nothing
 
T

Tom Ogilvy

Is BagSof1.xls open. It should be.

Using application.Run is pretty straightforward. I use it all the time to
call the functions in the Analysis Toolpak - VBA (as one example).
 
B

ben

yes it is open, which is why i thought it very strange that vba would
hesitate over that line of code, would it make a difference if i made that
code public sub otay instead of just sub otay?
 
T

Tom Ogilvy

It should be public by default. It should be in a general module and NOT be
in any sheet moduler or the ThisWorkbook module.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top