|re: I suspect there's a one-line answer to it .|
Actually, if you want to be able to just keep clicking the button and have the row keep moving without reselecting it each time, it takes 3 lines for each macro.
The reason is that after the row has been moved it is no longer the current selection, so we have to select it again. Comment out the last line and run the code to see what I mean.
Selection.Offset(2, 0).Insert Shift:=xlDown
Selection.Offset(-1, 0).Insert Shift:=xlDown