This was saved from a post for a similar question. You'll have to change the
workbook name from personal.xls to the real name.
Dim pWkbk as workbook
set pwkbk = workbooks("Personal.xls")
application.run "'" & pwkb.name & "'!macronamehere", "parm1", "parm2"
or if you're returning a value from a function:
dim res as string 'or variant or long or ...
res = application.run("'" & pwkb.name & "'!macronamehere", "parm1", "parm2")
You could also create a reference to this personal.xls workbook and call it just
like it was built into excel.
Tools|references
(but give the personal.xls's project a nice unique name (not VBAProject).
ps.
If you're using a function living in personal.xls inside a cell:
=personal.xls!functionnamehere(a1,b1,c1)
or save the file as an addin (*.xla) and use it in the cell like it's built into
excel:
=functionnamehere(a1,b1,c1)
Tomas Stroem wrote:
>
> I have a Master file containing a macro that opens a number of other
> workbooks, collects data and the creates statistics from this retreived data,
> work well. Now I need to create some statistics in on of the workbooks that I
> open from my Master. In this Slave file I have the macro that I want to run,
> but only when the Master is running. How can i call the macro in the Slave
> worksheet from the code in the Master macro.
>
> Greatful for all help!
>
> --
> Tomas S
--
Dave Peterson
|