Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Passing a variable into a subroutine in a different open workbook
I am trying to pass on a variable called by a subroutine in a macro written
in a different workbook. The variable is the filename of the workbook where the first macro is written. I didn't get an error with both of the following lines of code, but it just stopped running. Can you help? FirstWb = ThisWorkbook.Name ActiveWbMacro = SecondWb &* "!RunMacro2(""" & FirstWb & """)" Application.Run ActiveWbMacro I also tried: ActiveWbMacro = "'" & SecondWb &* "'!RunMacro2(""" & FirstWb & """)" Application.Run (ActiveWbMacro) Thanks for your help! |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Passing a variable into a subroutine in a different open workbook
This worked fine for me.
I put this in a general module in Book3.xls's project: Option Explicit Sub runmacro2(mystr As String) MsgBox mystr End Sub And I called it this way: Option Explicit Sub testme() Dim FirstWb As String Dim SecondWb As String Dim ActiveWbMacro As String SecondWb = Workbooks("book3.xls").Name FirstWb = ThisWorkbook.Name ActiveWbMacro = "'" & SecondWb & "'!RunMacro2" Application.Run ActiveWbMacro, FirstWb End Sub ActDude wrote: I am trying to pass on a variable called by a subroutine in a macro written in a different workbook. The variable is the filename of the workbook where the first macro is written. I didn't get an error with both of the following lines of code, but it just stopped running. Can you help? FirstWb = ThisWorkbook.Name ActiveWbMacro = SecondWb &* "!RunMacro2(""" & FirstWb & """)" Application.Run ActiveWbMacro I also tried: ActiveWbMacro = "'" & SecondWb &* "'!RunMacro2(""" & FirstWb & """)" Application.Run (ActiveWbMacro) Thanks for your help! -- Dave Peterson |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Passing a variable into a subroutine in a different open workb
This worked great. Thanks!
"Dave Peterson" wrote: This worked fine for me. I put this in a general module in Book3.xls's project: Option Explicit Sub runmacro2(mystr As String) MsgBox mystr End Sub And I called it this way: Option Explicit Sub testme() Dim FirstWb As String Dim SecondWb As String Dim ActiveWbMacro As String SecondWb = Workbooks("book3.xls").Name FirstWb = ThisWorkbook.Name ActiveWbMacro = "'" & SecondWb & "'!RunMacro2" Application.Run ActiveWbMacro, FirstWb End Sub ActDude wrote: I am trying to pass on a variable called by a subroutine in a macro written in a different workbook. The variable is the filename of the workbook where the first macro is written. I didn't get an error with both of the following lines of code, but it just stopped running. Can you help? FirstWb = ThisWorkbook.Name ActiveWbMacro = SecondWb &* "!RunMacro2(""" & FirstWb & """)" Application.Run ActiveWbMacro I also tried: ActiveWbMacro = "'" & SecondWb &* "'!RunMacro2(""" & FirstWb & """)" Application.Run (ActiveWbMacro) Thanks for your help! -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Call a subroutine using variable subroutine name | Excel Discussion (Misc queries) | |||
How to check workbook is already opened before passing the workbook obj to a subroutine in Word | Excel Programming | |||
Auto Open and Passing variable value(s) to MS Word | Excel Programming | |||
Passing a variable to a Worksheet at open time | Excel Programming | |||
Passing a Variable from Worksheet to Workbook | Excel Programming |