Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
How to call a macro with a flexible name
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. 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! Thanks! -- Alex St-Pierre |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
How to call a macro with a flexible name
"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 ... |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 ... |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Flexible X axis VBA/Macro generated | Charts and Charting in Excel | |||
Excel Macro call Word Macro with Parameters | Excel Programming | |||
Call macro stored in Excel workbook from Outlook's macro | Excel Programming | |||
Making the macro more flexible? | Excel Programming | |||
VBA - Flexible Sort Macro | Excel Programming |