Hello all,

I have been searching for some time, and can't find mention of anyone with my exact problem. I've been a lurking member for a long time, and have found a lot of great ideas here. Finally my time to ask!

I have a workbook that uses ActiveX comboBoxes, listboxes, etc... to guide a user through selecting options. Because there are so many options, the code creates the ActiveX controls as it needs them, and deletes them when it no longer needs them. Therefore on each sheet, I have change events with the necessary code for each box, even though the boxes aren't there. When I saveAs a new name, it fires a seemingly random selection of those change events. This hangs the books, since many of them are calling on other OLEObjects which also don't exist.


On each of 12 pages, there could be an available option in as many as 300 different places, for a total of 3600 options. And that's just the options, not even the data gathering before that. Therefore, I can't have all the controls exist, the file becomes too big, and crashes. To get around it, I have the code written for each box and just create/delete them as needed.

I have tried blocking enable events on the code that calls the saveas, but that doesn't work, since change events aren't "Events."

I have found other threads where people write a function that checks if there is currently a SaveAs happening, and puts an exit line in each change event to exit sub. This could work, but I would have a LOT of writing to do (10,000 or so subs to change). I'm also worried about that function malfunctioning and the change events not happening when I want them to.

1. Why does changing the file name, or running saveas trigger changes?
2. How do you prevent this?