Macros not working? Start here. These are the most common issues tax professionals run into — and exactly how to fix them.
File → Options → Customize Ribbon → check "Developer" in the right column → OK.
This is a one-time setup. The Developer tab stays visible until you uncheck it.
File → Options → Trust Center → Trust Center Settings → Macro Settings → select "Enable all macros" (temporarily).
Note: Only enable all macros for workbooks you trust. After running the macro, switch back to 'Disable all macros with notification.' You can also add your macro folder as a Trusted Location for permanent access.
This means the macro is trying to reference a sheet that doesn't exist. Check the sheet name in the VBA code — is it spelled exactly right? Are there extra spaces?
Sheet names are case-sensitive in VBA when referenced by `Worksheets("Name")`. If your sheet is named "Sched-A " (with a trailing space), the code won't find it.
The most common cause: the macro is trying to select a range or sheet that's protected, hidden, or on a different workbook. Add `ws.Activate` before `ws.Range(...).Select`. Better yet, avoid `.Select` entirely — work directly with range objects.
Every macro on this site avoids `.Select` and `.Activate` for this exact reason. If you're writing your own macros, use `Set rng = ws.Range("A1:B10")` instead of `Range("A1:B10").Select`.
Check that your data matches what the macro expects. Common causes: data doesn't start in A1, blank rows between data, totals aren't in the last row/column, or column letters don't match what the code expects.
Read the Prerequisites section of each blog post — it lists exactly what the macro assumes about your workbook layout.
Add `Application.ScreenUpdating = False` at the top and `Application.ScreenUpdating = True` at the bottom. This stops Excel from redrawing the screen after every change — often 10-50x faster.
For very large workpapers, also add `Application.Calculation = xlCalculationManual` at the top and `xlCalculationAutomatic` at the end. All macros on this site include these optimizations by default.
In the VBA editor (Alt+F11), make sure you pasted into a Module (Insert → Module), not directly into a Sheet object or ThisWorkbook. Macros in Sheet objects only work for events on that sheet.
Also check: is the macro `Public` or `Private`? Private subs won't appear in the Macro dialog (Alt+F8). All macros on this site are Public.
Look for `ActiveSheet` in the code. If the macro uses `ActiveSheet`, it only runs on whichever sheet you're currently viewing. To process all sheets, the code needs a `For Each ws In ThisWorkbook.Worksheets` loop.
Posts that work across multiple sheets will say so in the title or description. If a post says "single-sheet macro," it's designed to run on one sheet at a time.
Still stuck? Reach out with the error message, your Excel version, and a description of what you tried. I answer every email.