I\'ve got a Workbook_Open event macro (and it\'s in ThisWorkbook) that doesn\'t always run.
This happens when a workbook is closed with an Application.EnableEvents set to false, and then you open another workbook within the same instance of excel opened. To avoid this, make sure that all of your processes that disable events, reenable them before terminating. Special attention to "End" commands, error handlers and "exit sub" sentences in the middle of your program.
A few suggestions:
Make sure you have the latest service pack(s) applied.
I encountered the same problem, and I avoid it using the security settings. I use the options settings then confidentiality center, then "params of confidentiality center" (sorry but its a translation of the french version :-p) then "files approuved" or something like this. And add the file containing the excel workbook in. And its finnaly worked after that.
Looked everywhere and never find that solution.
Hope it'll help someone
A late answer (better than none).
I've had this problem now a few times (with Excel 2010). The solution that has always worked (so far) was: remove conditional formatting, in particular if it contains UDF as conditions. As @LanceRoberts wrote in an above post, it's ultimately due to UDF calculations "overriding" the Open event, but I've found that those are particularly harmful if used in conditional formats.
I experienced the same problem.
I tested a workbook on my computer without any troubles. After destributing it to my customers I was told, that some combo-boxes stayed empty. These are usually filled from inside the workbook_open
routine.
I tried different things to enable the workbook_open
-Event - without success.
Finally, I found that disabling all userdefined Functions (UDF) lead to correct execution of workbook_open
.
As my workbook is opened from another file, I will try to set calculation to manual first and then run the workbook_open
manually. This may be done by defining it
public sub workbook_open
instead of
private sub workbook_open
Strange, that excel does not time this by itself...
This happened to me also and took me hours to figure out.
Turns out the TODAY() function in Excel was causing the problem. Once deleted from my worksheet everything worked again. Very strange bug.