Weekly report cleanup
Record deleting rows where column A is blank, freezing row 1, and setting number format on column C. Run before sharing the tab with leadership.
A macro records your clicks and keystrokes in Google Sheets, then saves them as an Apps Script function you can run again from the Extensions menu or a keyboard shortcut. Macros are the fastest on-ramp to automation when your task is a fixed sequence of formatting or edits.
Use macros to repeat the same steps: apply a header style, delete blank rows in a known layout, insert a standard tab, or run a predictable cleanup on exported data every Monday.
Skip macros when the layout changes often, when you need branching logic per row, or when formulas and conditional formatting can stay dynamic without a recording.
Choose Extensions > Macros > Record macro and pick absolute or relative cell references.
{:"Perform your steps"=>"format, sort, paste values, insert rows. Sheets captures each action."}
Save the macro with a name and optional shortcut (Ctrl+Alt+Shift+number on desktop).
Sheets stores the macro as a function in the bound Apps Script project you can edit later.
Run it from Extensions > Macros or the shortcut when the sheet layout matches what you recorded.
Open the script to replace fragile UI steps with getValues loops for more stable production use.
Record deleting rows where column A is blank, freezing row 1, and setting number format on column C. Run before sharing the tab with leadership.
Record bold white text on a navy background for A1:F1, then assign a shortcut for new client tabs.
Record copy-paste values only on a data range before downloading CSV so formulas do not leak downstream.
Build this without starting from a blank cell
Use a Better Sheets tool for Google Sheets macros, then watch a walkthrough when you want the full pattern.
Watch how Google Sheets macros works
The onOpen trigger runs an Apps Script function automatically when someone opens the spreadsheet. It is the standard way to add custom menus, show instructions, or refresh lightweight cache without asking the user to run a macro first. Name the function onOpen or bind it as an installable open trigger.
Read guide →The Script Editor is the Apps Script workspace inside your spreadsheet where you write JavaScript that talks to Sheets, Gmail, and other Google services. You open it from Extensions > Apps Script. Every function you save can be run manually, bound to a trigger, or linked from a custom menu.
Read guide →Automation means work happens without repeating the same clicks every day: imports update, emails send, rows move, and dashboards refresh. In Sheets, automation usually stacks built-in features, Apps Script, and sometimes the Sheets API or add-ons. Start with the lightest tool that still solves the job.
Read guide →Cell formatting controls how values display without necessarily changing the stored value underneath. Currency, percent, date, and plain text formats keep reports readable and prevent Sheets from auto-converting IDs into dates. Good formatting is the difference between a sheet leadership trusts and one they argue with.
Read guide →Done reading about Google Sheets macros?
Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.
Need this once
Jump to a free tool or a single tutorial for this topic.
Learning Sheets for real
Unlock the full library, generators, and templates with membership.