![]() |
Application.Run Method
I have been using the Application.Run method for a long time, and
thought I was familiar with its syntax, namely : Application.Run AnotherSub Application.Run ("Add-In Name!Macro Name") Application.Run "'Some book.xls'!TheMacro" However, I need to pass some arguments to another procedure, and the only way I can get it to work is as follows (transferring a string variable from the 1st sub to the called sub) : Application.Run "AnotherSub", My_Procedure_Name It fails if I try what I expected, ie with the ( ) Application.Run ("AnotherSub", My_Procedure_Name) But works if I use Result = Application.Run ("AnotherSub ", My_Procedure_Name) Now this isn't too important (hey, it works after I spent a lot of time experimenting and searching the Goggle Groups), but am I missing something? The Excel help indicates that the ( ) are required. Any comments would be welcome in order to broaden my mind! Regards, Mark |
re; Application.Run Method
Try it without the brackets
I use the following line of code to run a macro in another workbook. Application.Run "ACM_Excel_Interface.xls! UpdateCallerList", ThisWorkbook.Name so passing the calling workbook's name to the UpdateCallerList procedure. No value is returned. Kevin Beckham -----Original Message----- I have been using the Application.Run method for a long time, and thought I was familiar with its syntax, namely : Application.Run AnotherSub Application.Run ("Add-In Name!Macro Name") Application.Run "'Some book.xls'!TheMacro" However, I need to pass some arguments to another procedure, and the only way I can get it to work is as follows (transferring a string variable from the 1st sub to the called sub) : Application.Run "AnotherSub", My_Procedure_Name It fails if I try what I expected, ie with the ( ) Application.Run ("AnotherSub", My_Procedure_Name) But works if I use Result = Application.Run ("AnotherSub ", My_Procedure_Name) Now this isn't too important (hey, it works after I spent a lot of time experimenting and searching the Goggle Groups), but am I missing something? The Excel help indicates that the ( ) are required. Any comments would be welcome in order to broaden my mind! Regards, Mark . |
Application.Run Method
You are misreading the help.
VBA syntax is that you do not use parentheses when you provide arguments to a Subroutine unless you preface it with the call command. You do use them with a function if the function is returning a value. You don't use them with a function if you are not using the returned value. In help, all procedures are shown with the arguments in parentheses, but this is not intended to say that you need to use parentheses - it is just a typographical convention they are using. -- Regards, Tom Ogilvy "Mark Worthington" wrote in message om... I have been using the Application.Run method for a long time, and thought I was familiar with its syntax, namely : Application.Run AnotherSub Application.Run ("Add-In Name!Macro Name") Application.Run "'Some book.xls'!TheMacro" However, I need to pass some arguments to another procedure, and the only way I can get it to work is as follows (transferring a string variable from the 1st sub to the called sub) : Application.Run "AnotherSub", My_Procedure_Name It fails if I try what I expected, ie with the ( ) Application.Run ("AnotherSub", My_Procedure_Name) But works if I use Result = Application.Run ("AnotherSub ", My_Procedure_Name) Now this isn't too important (hey, it works after I spent a lot of time experimenting and searching the Goggle Groups), but am I missing something? The Excel help indicates that the ( ) are required. Any comments would be welcome in order to broaden my mind! Regards, Mark |
Application.Run Method
Tom,
A voice of understanding in the darkness! Thanks for your help, Mark *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
All times are GMT +1. The time now is 08:56 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com