Instructions on creating a macro to move a row down by one in google sheets. Or in other words, swap the contents of the row containing the current active cell with the contents of the row below the current active cell.
This macro also supports moving multiple rows of any selected range.
There's a potential glitch if repeating the macro quickly multiple times before the previous iteration completes. It seems that google allows the next iteration to start before the first completes, which can cause an unexpected row to be shifted.
The macro takes about 1 second to execute, which is not ideal. I'm not sure if there are any ways to speed this up.
Tools > Script Editor