ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   call macro with variable (https://www.excelbanter.com/excel-programming/408688-call-macro-variable.html)

Whit

call macro with variable
 
How can I call a macro when the name is a variable


MacroName = "example"
While i <= 14
MacroName = MacroName & i
Call MacroName (path)
i = i + 1
Loop

Cheers




[email protected]

call macro with variable
 
Hi
You don't use brackets.
Call MacroName

or if it has parameters

Call MacroName variable1, variable2, etc

regards
Paul

On Apr 2, 10:01*am, Whit wrote:
How can I call a macro when the name is a variable

* * MacroName = "example"
* * While i <= 14
* * * * MacroName = MacroName & i
* * * * Call MacroName (path)
* * * * i = i + 1
* * Loop

Cheers



Whit

call macro with variable
 
I get a compile error...

" wrote:

Hi
You don't use brackets.
Call MacroName

or if it has parameters

Call MacroName variable1, variable2, etc

regards
Paul

On Apr 2, 10:01 am, Whit wrote:
How can I call a macro when the name is a variable

MacroName = "example"
While i <= 14
MacroName = MacroName & i
Call MacroName (path)
i = i + 1
Loop

Cheers




[email protected]

call macro with variable
 
Hi
didn't test this before. Looks like you simply cannot call a variable
name macro.
I'd suggest you create one macro with a variable parameter

Sub myMacro (i as integer)
'code depending on i
end sub

Then in the loop do
Call myMacro i

regards
Paul
On Apr 2, 10:16*am, Whit wrote:
I get a compile error...



" wrote:
Hi
You don't use brackets.
* * * * Call MacroName


or if it has parameters


* * * * Call MacroName variable1, variable2, etc


regards
Paul


On Apr 2, 10:01 am, Whit wrote:
How can I call a macro when the name is a variable


* * MacroName = "example"
* * While i <= 14
* * * * MacroName = MacroName & i
* * * * Call MacroName (path)
* * * * i = i + 1
* * Loop


Cheers- Hide quoted text -


- Show quoted text -



Ivyleaf

call macro with variable
 
Hi,

To my understanding there is no way to call a sub from a name
variable. Rather than passing a parameter to a sub with different
'sections' though, wouldn't it be easier to move the 'if' back into
the first sub?

sub Macro1()
Dim NextSub
do some things
NextSub = whatever you choose

Select Case NextSub
Case "Macro2"
Call Macro2
Case "Macro3"
Call Macro3
etc. etc.
End Select
End Sub

Hard to say withouu seeing you code.

Cheers,
Ivan.

On Apr 2, 10:21*pm, wrote:
Hi
didn't test this before. Looks like you simply cannot call a variable
name macro.
I'd suggest you create one macro with a variable parameter

Sub myMacro (i as integer)
* * 'code depending on i
end sub

Then in the loop do
Call myMacro i

regards
Paul
On Apr 2, 10:16*am, Whit wrote:



I get a compile error...


" wrote:
Hi
You don't use brackets.
* * * * Call MacroName


or if it has parameters


* * * * Call MacroName variable1, variable2, etc


regards
Paul


On Apr 2, 10:01 am, Whit wrote:
How can I call a macro when the name is a variable


* * MacroName = "example"
* * While i <= 14
* * * * MacroName = MacroName & i
* * * * Call MacroName (path)
* * * * i = i + 1
* * Loop


Cheers- Hide quoted text -


- Show quoted text -- Hide quoted text -


- Show quoted text -



Dave Peterson

call macro with variable
 
You could use application.run

Option Explicit
Sub testme1(mystr As String)
MsgBox mystr & " from 1"
End Sub
Sub testme2(mystr As String)
MsgBox mystr & " from 2"
End Sub
Sub testme3(mystr As String)
MsgBox mystr & " from 3"
End Sub
Sub testme4(mystr As String)
MsgBox mystr & " from 4"
End Sub
Sub aaa()
Dim iCtr As Long
For iCtr = 1 To 4
Application.Run "testme" & iCtr, "hi there"
Next iCtr
End Sub



Whit wrote:

How can I call a macro when the name is a variable

MacroName = "example"
While i <= 14
MacroName = MacroName & i
Call MacroName (path)
i = i + 1
Loop

Cheers


--

Dave Peterson


All times are GMT +1. The time now is 12:19 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com