View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Alex St-Pierre Alex St-Pierre is offline
external usenet poster
 
Posts: 169
Default How to call a macro with a flexible name

Thanks !!
This works very well.
Alex

"Bob Phillips" wrote:



"Alex St-Pierre" wrote in message
...
Hi,
I have 10 differents macro that create tables.
ex: Sub CreateT1_1(iSheetPos as integer), CreateT1_2(iSheetPos as

integer),
etc.
Is there a way to say:
sMacroName = "CreateT1_1"
Call sMacroName(iSheetPos)
...
Application.Run works but it close my form at the end of the execution.



How? Show the code.


Also, is there a way to test if the Macro Exist?
I tried:
On Error Resume Next
Application.Run sMacroName, iSheetPos
Msgbox(err.number) ' This show always 0 even if sMacroName doesn't exist!



If you made it a function that returns 1 , you could set a variable to 0,
and then run and test it

myVar = 0
On Error Resume Next
myVar = Application.Run(sMacroName, iSheetPos)
On Error Goto 0
If myVar = 0 Then
...