Understanding Phantom Macros

by Allen Wyatt
(last updated April 25, 2015)

2

Are you up for an experiment? Try the following: open a brand new workbook in Excel; one that has no macros in it. Record a quick macro, and then delete it. Save the workbook, close it, and reopen it. If all went as expected, Excel should have warned you about the workbook when you reopened it, and asked you if you wanted to disable the macros.

This sounds odd—after all, you know there are no macros in the workbook. Are there phantom macros at work here? No, not really. The reason Excel behaves this way is that when you create your first macro in a workbook, Excel creates a new module in which to retain the macro. When you later delete the macro, the module remains behind, ready to hold any other macros you may create. It is modules that Excel checks for when you open a workbook, not individual macros. If there is a module, you get the warning.

To fix this situation, you must follow these steps:

  1. Make sure the offending workbook (the one with the phantom macros) is open.
  2. Press Alt+F11, or choose Macros from the Tools menu and then choose Visual Basic Editor from the resulting submenu. Excel displays the Visual Basic Editor.
  3. Near the upper-left side of the editor is the Project Explorer. This contains a hierarchical tree that shows the different modules in your workbook. If the Project Explorer is not visible on your screen, press Ctrl+R to display it.
  4. Within the Project Explorer should be a folder called Modules. If it is not already open, double-click on the Modules folder to display its contents.
  5. Right-click on a module in the folder. A Context menu is displayed.
  6. Choose the Remove option from the Context menu. You are asked if you want to export the module before removing it.
  7. Click on the No button. The module is removed.
  8. Repeat steps 5 through 7 for each module in the Modules folder.
  9. Close the Visual Basic Editor.
  10. Resave your workbook.

At this point your workbook contains no modules, and you will not get any notification when you subsequently open it.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2011) applies to Microsoft Excel 97, 2000, 2002, and 2003.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Selecting Combo Boxes in Locked Worksheets

Once you protect a worksheet, you may run into problems with any combo boxes that the worksheet contains. This is a simple ...

Discover More

Moving a Table Column

Want to move a column in a table very easily? You can do so by using the same editing techniques you are already using.

Discover More

Controlling Overtype Mode

Some people like to have Word replace previous information as they type; this is called 'overtype mode.' You can control ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More ExcelTips (menu)

Worksheet Events

You can create macros that are automatically executed whenever certain events occur within a worksheet. This tip details what ...

Discover More

Engineering Calculations

Need to normalize your data in some way so that all your values are in a given format? This tip presents a number of ...

Discover More

Running Macros in the Background

Want to run a macro in Excel, but not sure if doing so will tie up your computer? Here's how macro processing really happens.

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is seven minus 1?

2016-06-02 08:23:06

Gert-Jan

In my "assign macro" dialogue (for assigning macros to objects), I get "phantom" macro names. They used to exist, but I have deleted them and all references to them. Why do their names persist in this dialogue?


2015-05-10 12:47:10

JA

Can this be accomplished in Excel 2013?
If so, how?


This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.