![]() |
One macro two versions
I have a macro which is normally invoked by a button on a worksheet. Before
the macro is run, there is a MsgBox prompt asking for confirmation. Now I want to call this macro from another macro. In this case, I want to skip the MsgBox prompt part and go ahead with the macro right away. How can I check whether the macro has been called by a button or another macro? Or is there a better way handling this problem? TIA |
One macro two versions
Hi Shatin
Look in the VBA help for application.caller if you use forms buttons -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Shatin" wrote in message ... I have a macro which is normally invoked by a button on a worksheet. Before the macro is run, there is a MsgBox prompt asking for confirmation. Now I want to call this macro from another macro. In this case, I want to skip the MsgBox prompt part and go ahead with the macro right away. How can I check whether the macro has been called by a button or another macro? Or is there a better way handling this problem? TIA |
One macro two versions
I would have the code for the button be something simple such as
response = msgbox("Do you want to run the macro....") If response = vbYes then Call MacroName Endif The you can still call MacroName from another macro that does not require the user to respond to the message box prompt. "Shatin" wrote: I have a macro which is normally invoked by a button on a worksheet. Before the macro is run, there is a MsgBox prompt asking for confirmation. Now I want to call this macro from another macro. In this case, I want to skip the MsgBox prompt part and go ahead with the macro right away. How can I check whether the macro has been called by a button or another macro? Or is there a better way handling this problem? TIA |
One macro two versions
Actually I simplified the situation somewhat when I posed the question. In
fact I have buttons on several worksheets that call the same macro. So application.caller doesn't always return the same unique button name. I was hoping that something like this might work If application.caller.name like "button*" but apparently not. "Ron de Bruin" wrote in message ... Hi Shatin Look in the VBA help for application.caller if you use forms buttons -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Shatin" wrote in message ... I have a macro which is normally invoked by a button on a worksheet. Before the macro is run, there is a MsgBox prompt asking for confirmation. Now I want to call this macro from another macro. In this case, I want to skip the MsgBox prompt part and go ahead with the macro right away. How can I check whether the macro has been called by a button or another macro? Or is there a better way handling this problem? TIA |
One macro two versions
That is a simple and practical solution and maybe that's what I am actually
going to do. Still, I am curious to know what the code would be like if I want to have just one macro. "BigJimmer" wrote in message ... I would have the code for the button be something simple such as response = msgbox("Do you want to run the macro....") If response = vbYes then Call MacroName Endif The you can still call MacroName from another macro that does not require the user to respond to the message box prompt. "Shatin" wrote: I have a macro which is normally invoked by a button on a worksheet. Before the macro is run, there is a MsgBox prompt asking for confirmation. Now I want to call this macro from another macro. In this case, I want to skip the MsgBox prompt part and go ahead with the macro right away. How can I check whether the macro has been called by a button or another macro? Or is there a better way handling this problem? TIA |
All times are GMT +1. The time now is 02:00 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com