How do I insert a new row in Excel via the keyboard?
Right clicking on a row and clicking insert is fairly time consuming. I'd rather not have to take my hands off the keyboard. How can I insert a new row above my current row using only the keyboard? I'm primarily interested in inserting a single row at a time, but would also be interested in answers that address multiple lines at a time.
211 Answers
There are two options that I'm aware of, and both (unfortunately) require two steps.
Option 1:
- With a single cell selected, hit Shift + Space to select the row.
- Hit Control + Shift + + to insert a row above the current row.
Option 2:
- With a single cell selected, hit Control + Shift + + to insert a row.
- Hit Enter to accept the default of "Shift cells down."
If inserting many rows at once, I think the first option is the best, as you can repeat the second step without having to re-select the row.
7The following keyboard shortcut will insert one row above the active cell's row:
Press ALT + I (Insert) then press R (row).
On PCs, use the right click key on the keyboard to emulate a right-click on the current selection.
7I found interesting the ALT + I ,R solution, which works in the English version of Excel, at any rate.
I have been using for years the macro below, assigned to Ctrl-N (which takes over from the shortcut defined for New Workbook), but you can assign to any key combination you prefer.
Sub InsertRow()
'
' InsertRow Macro
' Macro recorded 08.08.98 by A C Rowland
'
' Keyboard Shortcut: Ctrl+n
' Selection.EntireRow.Insert
End Sub 1 I use (windows):
- Shift + Space to select the current row
- "Keyboard right click" + I to insert a row
(*) the Keyboard right click looks like this:
You can also select multiple rows and then right-click to insert rows, or you can insert one row and then use CTRL-Y as many times as you need to insert rows. If you format your spreadsheet as a table, you don't even need to worry about copying your formulas.
This is a terrible terrible way of doing it but I want to help out future German (or other non-English) readers reading ATG's answer. In a German Excel 2007 I could reproduce the Alt navigation via
Alt + R + I + B + Enter
So to put it more generally: press Alt and then whatever brings you to Start, then to Insert (which is very far to the right in the Ribbon), then to Insert row and then - because Microsoft apparently thinks it's a good idea to assign a letter to two options in this menu - press Enter
I never knew this menu existed there. If you did already know then this answer might seem obvious to you but it took me some digging.
I'm still using the old Visicalc commands - typing /ir inserts a row above the current cell and /ic inserts a column to the left of the current cell.
Use Autohotkey and paste the following lines into the script:
;ms Excel insert row.
;Select cell in row and press Ctrl+shift+I
^+I::
Send !I
Send R I find the shortcut Ctrl++ (on numeric keypad) most comfortable as I don't have to look on keyboard, this is best for a touch typist (even for a non-touch user).
For inserting multiple rows, you can press once above shortcut and then just keep on pressing F4 (which repeates an action).
To add certain rows in multiple places at one time, you can try this.
You can hold the Ctrl key, click one row, click another row, let go of Ctrl key, and then right-click to add the row.
I think if you click too many rows and/or in a filtered list, Excel will say the range is too complicated.
You can just hit Alt + E and Excel will insert you a new row above the selected row.