call macro with variable

  • Thread starter Thread starter Whit
  • Start date Start date
W

Whit

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
 
Hi
You don't use brackets.
Call MacroName

or if it has parameters

Call MacroName variable1, variable2, etc

regards
Paul
 
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
 
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.
 
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
 

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

Back
Top