
Recording your first macro is the easy part. The leap that actually changes your week is going from “a macro trapped in one workbook” to a small library of reliable routines you can fire from any file, chain into a pipeline, and trust not to wreck your data. If you’re brand new to this, start with the basics of recording and editing a macro first; what follows assumes you’ve got that down and want to make macros a real part of your workflow. These are the tricks that separate a one-off recording from genuine automation.
Store macros once, use them everywhere
A macro saved in a normal workbook only exists in that file. The Personal Macro Workbook fixes that — a hidden workbook that opens silently every time Excel starts, making its macros available in every file you touch.
- Start recording a macro (Developer → Record Macro).
- In the “Store macro in” dropdown, choose Personal Macro Workbook and finish recording.
- Excel creates a hidden
PERSONAL.XLSBthat loads on startup — your macro now runs anywhere.
This is the single biggest upgrade to how you use macros. The formatting routine you built for one report becomes a tool you apply to every spreadsheet, like a personal extension to Excel itself. Anything you do across many files — a standard header style, a cleanup pass, a custom export — belongs in the Personal Macro Workbook rather than copied into each file by hand. Build it once, and it follows you everywhere Excel opens.
Because PERSONAL.XLSB stays hidden, you edit its macros through the Visual Basic Editor (Alt + F11), where it appears in the project list alongside your open files. If you ever need to see it as a sheet, View → Unhide brings it up. Microsoft’s macro recorder guide walks through the storage options if you want the official reference. One caution: since these macros load in every session, keep the workbook tidy — a junk drawer of half-finished experiments that runs on every startup is its own kind of mess.
A macro worth stealing: instant report formatting
The most reused macros are the boring ones — the formatting you apply to every report. Here’s a compact one that bolds the header row, autofits the columns, and outlines the data, all in a few lines:
Sub FormatReport()
With Range("A1").CurrentRegion
.Rows(1).Font.Bold = True
.Columns.AutoFit
.Borders.LineStyle = xlContinuous
End With
End Sub
The With block is the trick here: CurrentRegion grabs the whole contiguous block around A1, and the With lets you apply three changes to it without repeating the reference each time — cleaner than the line-by-line code the recorder would produce. Drop this in your Personal Macro Workbook, assign it a shortcut, and any raw export becomes a presentable report in one keystroke. It pairs well with the keyboard shortcuts you already lean on. The macro assumes your data starts at A1; if your reports begin elsewhere, change that one reference and the rest still works, since CurrentRegion figures out the block’s size on its own.
Comment and guard your code
Macros do their work permanently — there’s no undo after a macro runs. Two habits keep that power from biting you, and both take seconds.
Sub ClearInputs()
' Wipes the entry cells after a confirmation prompt
If MsgBox("Clear all inputs?", vbYesNo) = vbNo Then Exit Sub
Range("B2:B20").ClearContents
End Sub
The apostrophe starts a comment — a note to your future self explaining what the macro does, ignored when the code runs. The MsgBox line adds a confirmation, so a destructive macro asks before it acts and bails out on “No.” For anything that deletes or overwrites, that one guard line has saved more spreadsheets than any other trick here. And before you run a new macro on an important file, save a copy first — a macro’s changes can’t be rolled back with Ctrl+Z.
Chain macros into a workflow
The real automation payoff comes from stringing small macros together. Keep each one focused on a single job, then write a “conductor” macro that calls them in order:
Sub RunMonthlyReport()
Call CleanData
Call BuildSummary
Call FormatReport
End Sub
Each Call runs another macro you’ve already written and tested. This is how a monthly report becomes one button: clean the raw import, build the summary, format the output — three reliable pieces, run as one. Small focused macros are easier to fix than one giant routine, and you can reuse FormatReport in a dozen workflows once it stands on its own. Build a library of single-purpose macros and your workflows become a matter of arranging them.
Let Power Query do the data shaping
Knowing which tool owns which job is itself a productivity trick. Macros are for actions — formatting, moving, triggering, exporting. Power Query is for data — anything that transforms a table into a cleaner table. Reaching for VBA to clean data you could shape with a few clicks is how macros turn into fragile, hard-to-maintain scripts. Split the work along that line and both halves stay simple.
Run a macro automatically on an event
The most hands-off automation runs without you pressing anything. Excel can trigger a macro when a workbook opens, when a cell changes, or before a file saves — these are “event” macros, and the simplest lives in the workbook’s own code.
Private Sub Workbook_Open()
MsgBox "Remember to refresh the data before sending."
End Sub
Placed in the ThisWorkbook object, this runs the moment the file opens — here just a reminder, but the same hook can refresh queries, log the open, or jump to a dashboard tab. Event macros are an advanced step and easy to overuse, so add them sparingly and comment them clearly; a macro that fires on its own is wonderful until someone can’t figure out why the file keeps doing something. Used with restraint, they’re the closest Excel gets to running your routine for you.
From recordings to a real toolkit
The progression is the point: store macros centrally so they follow you, write them small and commented so they last, chain them so a whole task runs at once, and hand the data-shaping to Power Query so your code stays lean. None of it requires deep programming — it’s mostly good organization applied to the recording-and-editing basics you already know. Start by moving one favorite macro into your Personal Macro Workbook this week; once it’s there waiting in every file you open, the rest of these tricks will follow naturally as you find the next repetitive thing worth automating.
