Skip to footer content
EXCEL TOOLS

How to Insert Multiple Rows in Excel: 6 Methods That Actually Work

How to Insert Multiple Rows in Excel: 6 Methods That Actually Work

Need to add several rows to a spreadsheet without clicking insert over and over? The fastest answer to how to insert multiple rows in Excel is to select the same number of existing rows as you want to add, then press Ctrl + Shift + Plus (+) on Windows or Cmd + Shift + Plus (+) on Mac. Excel inserts that many blank rows above your selected area instantly.

For example, if a budget spreadsheet needs five new line items inserted above row 10, click the row 10 sign on the left, drag the cursor down to row 14 (which will select multiple rows, five in total), then press Ctrl + Shift + +. Five new rows appear above row 10, shifting all existing rows downward. The whole insertion takes about three seconds once the keyboard shortcut becomes muscle memory.

That command handles roughly 80% of real-world cases in Microsoft Excel, but the application offers several other methods worth knowing, especially when working with filtered data, large gaps between insertion points, or non adjacent rows. The sections below walk through every reliable feature, including a VBA macro approach for repetitive jobs and a developer-focused option for anyone automating spreadsheet workflows through code. Related Excel skills like freezing rows, alphabetizing data in columns, and locking rows pair naturally with row insertion when restructuring any data set in a sheet.

How to Insert Multiple Rows in Excel: 6 Methods That Actually Work: Image 1 - Excel worksheet with rows 10–14 highlighted and the Ctrl + Shift + + shortcut overlay

Method 1: The Keyboard Shortcut (Fastest)

This is the method most Excel power users default to because it works without leaving the keyboard. The shift key plays a starring role in nearly every fast insertion technique.

Windows: Select the rows where new rows should appear, then press Ctrl + Shift + + (the plus sign on the main keyboard, not the numeric keypad).

Mac: Select the rows, then press Cmd + Shift + + or Control + I depending on the Excel version installed.

The number of rows inserted matches how many rows are selected. Select three rows, get three new blank rows. Select fifteen, get fifteen. New rows always appear above the selection, pushing existing data and values downward. Any formulas referencing cells in the shifted range update their row numbers automatically.

If Excel opens the insert dialog box instead of inserting rows directly, that usually means individual cells were selected rather than the entire row. Click the row number on the far left to highlight the full sheet row before pressing the keys for the shortcut.

How to Insert Multiple Rows in Excel: 6 Methods That Actually Work: Image 2 - Close-up of row headers on the left of sheet with three rows plus an image showing key combination

Method 2: Right Click Context Menu

The right click approach is the most discoverable method and works identically across Windows and Mac.

  1. Select the rows where new blank rows should appear (select five existing rows to insert five new ones).
  2. Right click anywhere on the highlighted row numbers.
  3. Choose Insert from the menu.

Excel inserts the matching number of rows above the selected area. No insert dialog box appears when entire rows are selected, so the action is essentially one click after the right click.

This method makes sense when working with a mouse-heavy workflow or when teaching Excel to colleagues who find keyboard commands intimidating. It's also the most reliable way to avoid accidentally selecting only cells or columns instead of full sheet rows.

How to Insert Multiple Rows in Excel: 6 Methods That Actually Work: Image 3 - Right click context menu open on a selected row with the Insert option

Method 3: The Home Ribbon and Insert Menu

For anyone who prefers visual navigation, the ribbon offers a clearly labeled insert feature.

  1. Select the rows where new rows should appear.
  2. Go to the Home tab on the ribbon.

  3. In the Cells group, click the dropdown arrow under Insert.

  4. Select Insert Sheet Rows from the menu.

This method is slower than the shortcut or right click but offers a useful safety net: the dropdown also includes Insert Sheet Columns, Insert Cells, and Insert Sheet, which prevents accidentally inserting the wrong element type and helps fix mistakes before they happen.

Method 4: Insert Multiple Non Adjacent Rows

What if blank rows need to appear in several different locations at once, for example above rows 5, 12, and 20? Excel handles this in a single insert operation.

  1. Click the row 5 header.
  2. Hold Ctrl (Windows) or Cmd (Mac) and click the row 12 header.

  3. Continue holding the modifier key and click row 20.
  4. Right click any of the selected rows and select Insert, or press Ctrl + Shift + +.

Excel inserts one row above each selected row, shifting data down accordingly. This trick saves significant time when restructuring large spreadsheets with multiple section breaks.

A small but important comment about how many rows actually get added: the number of new rows equals the number of selected rows, not the spacing between them. To insert two blank rows above row 5 and three above row 12, select two consecutive rows starting at row 5 and three consecutive rows starting at row 12 before insertion.

Method 5: The Name Box Trick for Large Ranges

Inserting 100 rows in a sheet that scrolls for thousands of lines is a common pain point. Manually selecting that many rows by dragging the cursor gets tedious. The Name Box, located next to the formula bar, solves this elegantly using a colon to define the range.

  1. Click the Name Box (the small field to the left of the formula bar that normally displays the active cell reference, like A1).

  2. Type the row range using a colon, for example 5:104 to select 100 rows starting at row 5.
  3. Press Enter. Excel highlights all 100 rows.
  4. Press Ctrl + Shift + + or right click and select Insert.

That's 100 blank rows inserted in about five seconds. The same trick works for any size range, even spanning thousands of rows.

Method 6: Copy and Paste Insert (For Patterned Inserts)

Sometimes the goal is to insert multiple identical rows, like a header section repeated throughout a report. Excel's copied cells feature handles this nicely.

  1. Select the one row (or rows) to copy and press Ctrl + C.
  2. Highlight the destination rows where the copy should land.
  3. Right click and select Insert Copied Cells from the menu.

  4. Choose Shift cells down when prompted, then press Enter.

Excel inserts the copied cells as new rows rather than overwriting existing data. This is the cleanest way to add multiple rows that already contain values, formulas, or formatting, without disrupting the surrounding sheet.

Bonus Method: VBA Macro for Repetitive Inserts

For tasks that need to happen on a schedule, like inserting a blank row between every existing row in a list, a small VBA macro handles the job in one click.

Press Alt + F11 to open the VBA editor, then insert a new module and paste the below code:

Sub InsertRowBetweenEachRow()
    Dim i As Long
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = LastRow To 2 Step -1
        Rows(i).Insert Shift:=xlDown
    Next i
End Sub
Sub InsertRowBetweenEachRow()
    Dim i As Long
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = LastRow To 2 Step -1
        Rows(i).Insert Shift:=xlDown
    Next i
End Sub
Option Strict On



Sub InsertRowBetweenEachRow()
    Dim i As Long
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = LastRow To 2 Step -1
        Rows(i).Insert(Shift:=xlDown)
    Next i
End Sub
$vbLabelText   $csharpLabel

Close the VBA editor, then run the macro from the Developer tab or with Alt + F8. The script inserts a blank row above every existing row from row 2 downward in the table.

This approach is overkill for one-off jobs but proves helpful for monthly reports or recurring data prep tasks. Macros can also be modified to insert rows based on cell values, blank cells, a helper column, or any other condition.

Common Issues and Troubleshooting

Excel shows an error: "Operation cannot be performed because it would shift cells off the sheet." This error usually happens when the spreadsheet has data near the very bottom (row 1,048,576). Excel can't insert new rows because there's no empty space to shift existing content into. Scroll to the bottom of the sheet with Ctrl + End, delete any stray data or formatting, save the file, and try again.

Inserted rows inherit formatting from the wrong location. Excel offers a small Insert Options icon that appears next to newly inserted rows. Click it to choose between Format Same As Above, Format Same As Below, or Clear Formatting. This option is especially helpful when inserting rows in a styled table.

Rows insert in a filtered list but appear in unexpected positions. Filtered views can hide rows, and inserts apply to the visible rows only. Clear filters before inserting rows when the new rows need to land in specific positions. Re-apply the filter afterward.

The Ctrl + Shift + + shortcut opens the insert dialog box instead of inserting rows. This means the selection includes only cells, not entire rows. Always click the row number on the far left to select the full row before using the keyboard shortcut.

Frozen panes interfere with row selection. If part of the sheet is frozen, scrolling and row selection behave differently above and below the freeze line. Unfreeze panes via View → Freeze Panes → Unfreeze, perform the insert, then re-freeze if needed.

Inserted rows break formulas referencing absolute ranges. A formula like =SUM($A$2:$A$10) does not expand when new rows land within the range. Switch to structured references or use =SUM(A:A) for whole-column sums when the data set will grow over time.

Insert single row works but insert multiple does nothing. This usually points to a protected sheet. Check the Review tab and unprotect the sheet before attempting to add rows.

For Developers: Inserting Rows Programmatically with IronXL

Anyone automating spreadsheet workflows from a .NET application can skip the GUI entirely. The team at Iron Software built IronXL as a C# Excel library that reads and writes XLSX files without needing Microsoft Excel or Office installed on the server. There's no need to install Office anywhere in the pipeline.

Here's how IronXL handles the insert multiple rows operation programmatically:

using IronXL;
WorkBook workBook = WorkBook.Load("budget.xlsx");
WorkSheet sheet = workBook.WorkSheets.First();
// Insert 5 blank rows starting at row index 9 (which is row 10 in Excel)
sheet.InsertRows(9, 5);
workBook.SaveAs("budget_updated.xlsx");
using IronXL;
WorkBook workBook = WorkBook.Load("budget.xlsx");
WorkSheet sheet = workBook.WorkSheets.First();
// Insert 5 blank rows starting at row index 9 (which is row 10 in Excel)
sheet.InsertRows(9, 5);
workBook.SaveAs("budget_updated.xlsx");
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("budget.xlsx")
Dim sheet As WorkSheet = workBook.WorkSheets.First()
' Insert 5 blank rows starting at row index 9 (which is row 10 in Excel)
sheet.InsertRows(9, 5)
workBook.SaveAs("budget_updated.xlsx")
$vbLabelText   $csharpLabel

That's the whole operation. No COM interop, no Excel process running in the background, no licensing headaches on production servers. IronXL handles row insertion, formula updates, formatting preservation, and all the edge cases that make manual Excel automation painful.

Hope this post helped clarify every method for adding rows in Excel. For teams building reporting tools, data import pipelines, or any workflow that needs to programmatically restructure Excel files, IronXL is worth a look. Try it free via the link at IronXL website.

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...

Read More

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me