MS Office Forum / Excel / Programming / June 2006
How to execute a macro automatically at startup of Excel?
|
|
Thread rating:  |
Radim - 02 Sep 2005 09:14 GMT Hi, I would like Excel to execute some kind of initializing macro automatically when it starts. Does anyone of You know whether it is possible and if so, how to do that? Thank You in advance, Radim
Norman Jones - 02 Sep 2005 09:49 GMT Hi Radim,
If you put your macro in a standard module and call it Sub Auto_Open, it will run when the workbook is opened.
Alternatively, you can use Workbook_Open event code.
If you are not familiar with event code, see Chip Pearson at:
http://www.cpearson.com/excel/events.htm
--- Regards, Norman
> Hi, > I would like Excel to execute some kind of initializing macro [quoted text clipped - 3 lines] > to do that? Thank You in advance, > Radim Radim - 02 Sep 2005 10:40 GMT Hi, Norman, thank You very much for the answer. I tried the second alternative and it worked, however I did not succeeded with the first one. I think that I made everything as You wrote me but the code in Auto_Open was not executed at startup.
But it is not so important for me now, because the second alternative works well. Thank You. Radim
Norman Jones píše:
> Hi Radim, > [quoted text clipped - 18 lines] > > to do that? Thank You in advance, > > Radim Norman Jones - 02 Sep 2005 10:53 GMT Hi Radim,
>You wrote me but the code in Auto_Open was not executed at startup. On the link page, did you see Chips comment:
'=====================================>> Remember that when you open a workbook through VBA (with the Workbooks.Open method), the Auto_Open macro is not executed. You will have to use the RunAutoMacros method of the Workbook object to run it. '<<=====================================
--- Regards, Norman
> Hi, Norman, > thank You very much for the answer. I tried the second alternative and it [quoted text clipped - 33 lines] >> > to do that? Thank You in advance, >> > Radim Radim - 02 Sep 2005 12:14 GMT Hi Norman, I open the workbook manually, not through VBA, so Auto_Open should work. Now I also have read the article by Chip Pearson. But still, it seems to me that Excel does not recognize the procedure no matter which module I put it in (I tried This WorkBook and Sheet1 (this is my "standard" module)) because the code is still not executed at startup. Maybe, I do something wrong, or there is something wrong with compatibility of my installation of Excel with older versions. With best regards, Radim
Norman Jones píše:
> Hi Radim, > [quoted text clipped - 49 lines] > >> > to do that? Thank You in advance, > >> > Radim Norman Jones - 02 Sep 2005 12:24 GMT Hi Radim,
> I put it in (I tried This WorkBook and Sheet1 (this is my "standard" > module)) The sheet module and the ThisWorkbook module are not standard modules.
To add a standard module:
Alt-F11 to invoke the VBE Insert | Module
--- Regards, Norman
> Hi Norman, > I open the workbook manually, not through VBA, so Auto_Open should work. [quoted text clipped - 72 lines] >> >> > to do that? Thank You in advance, >> >> > Radim Radim - 02 Sep 2005 13:12 GMT Hi, Norman, this was the point, now I understand. I tried to write the Auto_Open sub into the standard module and it worked well. Thank You very much! Radim
Norman Jones píše:
> Hi Radim, > [quoted text clipped - 87 lines] > >> >> > to do that? Thank You in advance, > >> >> > Radim Peter Rooney - 02 Sep 2005 09:50 GMT Hi, Radim,
Do you want your code to run when Excel starts, or when you open a specific workbook?
You can add macros such as the ones below to the code page of "ThisWorkbook" (keep the names the same)
Your code will run as the workbook opens:
Private Sub Workbook_Open() Your Code Here End Sub
just before it closes:
Private Sub Workbook_BeforeClose(cancel As Boolean) Your Code Here End Sub
whenever it is activated:
Private Sub Workbook_Activate() Your Code Here End Sub
or whenever it is deactivated:
Private Sub Workbook_Deactivate() Your Code Here End Sub
If you want Excel to run something as soon as it starts, independenetly of a any workbook create a Workbook_Open macro similar to the one above in the code page of the ThisWorkBook object of PERSONAL.XLS
Hope this helps
Pete
> Hi, > I would like Excel to execute some kind of initializing macro automatically > when it starts. Does anyone of You know whether it is possible and if so, how > to do that? Thank You in advance, > Radim Radim - 02 Sep 2005 10:31 GMT Hi, Peter, thank You very much for Your answer. I tried what You told me and it worked well. I had tried many things before but I had not got the idea to put the code into the This Workbook module. Radim
Peter Rooney píše:
> Hi, Radim, > [quoted text clipped - 41 lines] > > to do that? Thank You in advance, > > Radim Mosaic - 29 Jun 2006 11:55 GMT Thank you all - you saved me a lot of work - much appreciated
> Hi, > I would like Excel to execute some kind of initializing macro automatically > when it starts. Does anyone of You know whether it is possible and if so, how > to do that? Thank You in advance, > Radim
|
|
|