Most often when I run a macro it's to change lines matching searches, so I just start the macro with the search (or `n` if the macro doesn't do additional searches) then I end the macro with `@q` (or whatever register), then execute the macro. I don't think I've ever had occasion to run a macro on every line, though I've had occasion to run macros over line ranges (but still, all matching a specific pattern).