The solution? Switch your macros to an Excel Add-in (.xlam). It loads more reliably and behaves like your personal workbook, without the usual startup headaches.
One-time setup
Step 1: Create PERSONAL.XLSB (if you don’t already have one)
- Open any Excel workbook.
- Go to View → Macros → Record Macro.
- Set Store macro in to Personal Macro Workbook.
- Click OK, then immediately stop recording.
- Close Excel and save when prompted.
Step 2: Add your macros
- Open Excel and press Alt+F11 to open the VBA editor.
- In the left panel, expand VBAProject (PERSONAL.XLSB) → Modules → Module1.
- Paste your macro code here.
- Press Ctrl+S to save.
Step 3: Save as an add-in
- In the VBA editor, select PERSONAL.XLSB.
- Go to File → Save As.
- Change the file type to Excel Add-in (*.xlam).
- Excel will default to the AddIns folder—leave it there.
- Name it
MyMacrosand click Save.
Step 4: Install the add-in
- In Excel, go to Developer → Add-ins → Excel Add-ins.
- You should see
MyMacroslisted—check the box next to it and click OK. - Close and reopen Excel to make sure it loads properly.
Step 5: Add macros to the quick access toolbar (QAT)
- Right-click the QAT → Customize Quick Access Toolbar.
- Under Choose commands from, select Macros.
- Your macros should appear as
MyMacros.xlam!MacroName. - Select one and click Add.
- Click Modify to pick an icon and give it a clear name.
- Click OK and test your button.
Adding new macros later
- Open the add-in directly: File → Open → browse to
%appdata%\Microsoft\Office\AddIns\MyMacros.xlam. - Press Alt+F11 to open the VBA editor.
- Expand VBAProject (MyMacros.xlam) → Modules → Module1.
- Paste your new macro alongside the existing ones.
- Press Ctrl+S to save and close.
- Right-click QAT → Customize → add the new macro as above.
Troubleshooting
QAT button does nothing
1. Check if the add-in is loaded
Press Alt+F11, then Ctrl+G to open the Immediate Window and run:
For Each wb In Workbooks : ? wb.Name : Next
MyMacros.xlam should appear. If not, go to Developer → Add-ins and tick it.
2. Check the QAT entry
Right-click QAT → Customize → ensure the command reads MyMacros.xlam!MacroName (with the !). Without the exclamation mark, it won’t work.
3. Check for subtle macro effects
Some macros toggle hidden settings (e.g., switching reference style). Watch for small changes, like column headers switching from letters to numbers.
Add-in doesn’t stay loaded
Go to Developer → Add-ins → Excel Add-ins and re-check the box. If it keeps disappearing, the .xlam file may have been moved—browse to it and re-add.
Can’t find the add-ins folder
Run this in the Immediate Window:
? Application.UserLibraryPath
It will return the exact folder path.
Why use an add-in instead of PERSONAL.XLSB?
PERSONAL.XLSB is supposed to load automatically at startup, but it doesn’t always work reliably. An .xlam add-in loads consistently and gives you the same convenience of personal macros, without worrying whether Excel will actually open your workbook.