Run subroutines in other workbooks?

R

Robert Crandal

I have some code that initially opens another workbook, ie:

Set wb = Workbooks.Open ("myotherfile.xlsx")

This code opens the other workbook file and the "handle"
gets stored in the "wb" variable.

My question is, now that the workbook is open, how can
I run any of the subroutines in this other workbook???

(Assume that the "myotherfile.xlsx" file has a subroutine
named "Public Sub Foo (ByVal x as Integer)"... I would
like to call this function!)

Some have suggested that I need to use the Application.Run
method for this. Is that right?? How do I use that?

thank you
 
R

Robert Crandal

But the subroutine is located in a different workbook (that is also
open).....
How do I specify the other workbook??

I thought it would be something like:

Workbooks("otherbook.xlsm").Run Foo, 1

But that doesn't seem to work....
 
B

Bob Phillips

Application.Run "otherbook.xlsm"!Foo",1

HTH

Bob

Robert Crandal said:
But the subroutine is located in a different workbook (that is also
open).....
How do I specify the other workbook??

I thought it would be something like:

Workbooks("otherbook.xlsm").Run Foo, 1

But that doesn't seem to work....



D_Rennie said:
hello
try run [sub name] or call [sub name] withouth the []

cheers
 
B

Bob Phillips

Sorry type there, should have been

Application.Run "otherworkbook.xlsm!Foo",1

HTH

Bob


Robert Crandal said:
But the subroutine is located in a different workbook (that is also
open).....
How do I specify the other workbook??

I thought it would be something like:

Workbooks("otherbook.xlsm").Run Foo, 1

But that doesn't seem to work....



D_Rennie said:
hello
try run [sub name] or call [sub name] withouth the []

cheers
 
P

Paul

Don't forget that, with files that contain such characters as spaces, you'll
need to add quotes :

Application.Run "'My Other Workbook.xlsm'!Foo",1

--
If the post is helpful, please consider donating something to an animal
charity on my behalf.


Bob Phillips said:
Sorry type there, should have been

Application.Run "otherworkbook.xlsm!Foo",1

HTH

Bob


Robert Crandal said:
But the subroutine is located in a different workbook (that is also
open).....
How do I specify the other workbook??

I thought it would be something like:

Workbooks("otherbook.xlsm").Run Foo, 1

But that doesn't seem to work....



D_Rennie said:
hello
try run [sub name] or call [sub name] withouth the []

cheers


.
 

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