How to move rows in Excel (4 simple & quick methods)

To move a row in Excel, select its row number, hold Shift, and drag the row's border to the new position; Excel inserts it there without replacing any data.

This guide covers four methods for Excel on Windows: drag and drop, cut and insert, the move pointer with the right-click menu, and a VBA macro, plus fixes for when Excel refuses to move a row.

Method 1: Drag and drop (simple and visual)

Drag and drop is the quickest way to reorder rows when the source and destination are both on screen. Holding Shift is what makes Excel insert the row instead of overwriting the row you drop it on.

  1. Click the row number on the left edge to select the whole row. For several rows, drag down the row numbers, since the rows must be next to each other.
  2. Point to the top or bottom border of the selection until the pointer changes to the four-headed move pointer.
  3. Press and hold Shift.
  4. Drag the rows up or down. A thick horizontal line shows where the rows will land.
  5. Release the mouse button first, then release Shift.
  6. Check the row numbers: the moved rows now sit at the line, and the rows below them have shifted down.

If you drag without Shift, Excel replaces the destination row instead and asks before it overwrites cells that contain data. Select Cancel to keep the original content.

Method 2: Cut and insert (more precise and controlled)

Cut and insert suits long sheets, because you never have to drag across hundreds of rows. Insert Cut Cells pushes the existing rows down, so nothing is overwritten.

  1. Click any cell in the row you want to move and press Shift + Spacebar to select the entire row, or click the row number.
  2. On the Home tab, in the Clipboard group, select Cut, or press Ctrl + X. A moving dashed border appears around the row.
  3. Right-click the row number of the row that should end up directly below the moved row.
  4. Select Insert Cut Cells from the menu.
  5. Confirm the row now sits above the row you right-clicked and its old position has closed up.
  6. Press Esc if you change your mind before inserting; it cancels the moving border.

To move the row to another worksheet or workbook, cut it, switch to the other sheet tab or workbook, then right-click the destination row number and select Insert Cut Cells.

Method 3: Using pointer and context menu (for quick movements)

The move pointer does more than Shift-drag. The key you hold while dragging decides whether Excel moves or copies the row, and whether it inserts or replaces.

Select the row first, point to its border until the move pointer appears, then use the combination below.

What you want Hold while dragging What Excel does
Move the row and replace the destination row Nothing Moves the row onto the target and warns before overwriting data; select Cancel to stop
Copy the row and replace the destination row Ctrl Copies the row onto the target with no warning; press Ctrl + Z to undo
Move the row and insert it between rows Shift Inserts the row at the line and shifts the others down
Copy the row and insert the copy between rows Ctrl + Shift Inserts a duplicate and leaves the original in place
Duplicate a row without dragging Right-click menu Press Ctrl + C, right-click the target row number, select Insert Copied Cells

Keep Ctrl or Shift held until after you release the mouse button. Letting go of the key first turns a copy into a move.

Method 4: Using VBA (for automation and repeated tasks)

A macro helps when the same row moves happen on a schedule, such as pushing a completed task to the top of a list each week.

This example moves row 5 above row 2. It inserts a blank row, cuts the source row into it, then deletes the empty row left behind.

Sub MoveRowFiveAboveRowTwo()
    Rows(2).Insert Shift:=xlShiftDown
    Rows(6).Cut Destination:=Rows(2)
    Rows(6).Delete
End Sub

Press Alt + F11 to open the Visual Basic for Applications editor, select Insert > Module, and paste the code. Rows(2).Insert pushes rows 2 and below down, so the old row 5 becomes row 6. Rows(6).Cut with a Destination moves it straight into the new row 2 without using the clipboard, and Rows(6).Delete removes the empty row it left. Change the numbers to suit your sheet, and remember that a cut range must be one block of adjacent cells.

You should see: Press Alt + F8, select MoveRowFiveAboveRowTwo, and select Run. The content of the old row 5 now appears in row 2, and no blank row remains.

Save a copy of the workbook before running a macro on real data. To keep the macro, save the file as an Excel Macro-Enabled Workbook (*.xlsm).

Summary: choosing the right method to move rows in Excel

Your situation Use this method Why
Source and destination rows are both visible Method 1: Shift + drag One drag, no clipboard, nothing overwritten
Destination is far down the sheet or on another worksheet Method 2: Cut and Insert Cut Cells No long drag, and it works across sheets and workbooks
You want to overwrite a row, swap content, or make a copy Method 3: Pointer and right-click menu Plain drag replaces, Ctrl + drag copies, Insert Copied Cells duplicates
You move the same rows every week or across many files Method 4: VBA macro One keystroke repeats the move exactly
You need to reorder dozens of rows at once Sort on a helper column (see the tips table) One sort replaces many separate moves

How to check the Excel row moved correctly

  1. Read the row numbers around the new position and confirm the moved row sits where you intended.
  2. Click a formula cell in the moved row and check the formula bar for the references you expect.
  3. Scan formulas elsewhere that pointed at the row for #REF! errors.
  4. Check that the old position closed up with no blank row, unless you used a replace drag.
  5. Press Ctrl + Z straight away if anything looks wrong; Excel undoes the move.

Why moving rows in Excel matters: what travels with the row

Moving a row is safer than retyping it, because Excel carries everything in the row to its new position. Knowing what travels with it explains most surprises after a move.

Item in the row What happens when you move it
Values and text Move with the row unchanged
Formulas Move with the row together with their calculated results
Comments and notes Move with their cells
Cell formats Fill, font, borders and number formats move too
Hidden cells Included in the move by default
Copied formulas Relative references in a copy are not adjusted, so a copy can show #REF!; fix the references manually

Additional tips and best practices for moving Excel rows

Tip What to do
Maintaining data integrity Select the entire row by its number, not part of it, so no columns get left behind
Undo functionality Ctrl + Z reverses a drag or Insert Cut Cells; save a copy before running a macro
Handling filters and sorting To reorder many rows, type the new order as numbers in a helper column, then use Data > Sort & Filter > Sort on that column with My data has headers ticked
Moving non-adjacent rows The mouse cannot move rows that are not next to each other; move each block separately or sort them into place
Copying visible rows only Use Home > Find & Select > Go To Special > Visible cells only before Ctrl + C
Keep column widths After pasting, open the Paste arrow and select Keep Source Column Widths
Rows to columns Copy with Ctrl + C, right-click the target cell, and select Transpose under Paste Options; Cut does not work here

If you need a blank row before the move, add blank rows in Excel with Home > Insert > Insert Sheet Rows first.

Excel Sort dialog with Sort by, Sort On and Order columns
To reorder many rows, number them in a helper column and sort on it with Data > Sort & Filter > Sort. (Image: Microsoft)

Additional resources for moving rows in Excel

Why can't I move rows in Excel? Fixes by symptom

Why can't I drag and move rows in Excel?

Cell drag-and-drop is turned off in Excel's options, so the move pointer never appears.

  1. Select File > Options > Advanced.
  2. Under Editing options, tick Enable fill handle and cell drag-and-drop.
  3. Tick Alert before overwriting cells so Excel warns before a drag replaces data.
  4. Select OK and try the drag again.

Why won't Excel let me move rows on a protected sheet?

Worksheet protection blocks changes to locked cells, so rows cannot be cut or dragged.

  1. Open the Review tab.
  2. Select Unprotect Sheet, or go to File > Info > Protect > Unprotect Sheet.
  3. Enter the password if the sheet has one, and select OK.
  4. Move the rows, then select Review > Protect Sheet to lock it again.

Excel will not move several selected rows at once

The selected rows are not adjacent; neither the mouse nor Cut can move separate blocks together.

  1. Move each block of adjacent rows separately.
  2. Or add a helper column, number the rows in the order you want, and sort on it with Data > Sort.

Moving a row in Excel replaced existing data

The row was dropped without Shift, or pasted with Ctrl + V instead of Insert Cut Cells.

  1. Press Ctrl + Z to restore the overwritten row.
  2. Repeat the move holding Shift while you drag, or right-click and select Insert Cut Cells.

Formulas show #REF! after moving or copying rows

A copied formula kept relative references that now point at cells that do not exist.

  1. Press Ctrl + Z if the change just happened.
  2. Otherwise click each #REF! cell and correct the reference in the formula bar.

Sheet protection and workbook protection are separate locks; if a password also blocks sheet changes at file level, remove Excel workbook protection as well.

Excel Format Cells dialog on the Protection tab with Locked ticked
Locked cells only block a move once the sheet is protected; unprotect it from the Review tab first. (Image: Microsoft)

Moving rows in Excel FAQ

Can I move rows in Excel?

Yes. Select the row number, hold Shift and drag the row's border to a new position, or cut the row with Ctrl + X and use Insert Cut Cells. Both keep every value, formula, comment and format in the row.

How do I move rows in Excel without replacing data?

Hold Shift while you drag the row's border, or cut the row and right-click the destination row number to select Insert Cut Cells. Both insert the row and push the others down instead of overwriting the row you drop it on.

How do I move rows in Excel with the keyboard?

Press Shift + Spacebar to select the row and Ctrl + X to cut it. Then select the destination row and use Insert Cut Cells from the right-click menu. Ctrl + Z undoes the move if the row lands in the wrong place.

How do I move rows in Excel without dragging?

Use cut and insert. Select the row, press Ctrl + X, right-click the row number below where it should go, and select Insert Cut Cells. This route suits long sheets where dragging across hundreds of rows is slow.

How do I move rows in Excel to another sheet?

Cut the row with Ctrl + X, select the other worksheet tab, then right-click the destination row number and select Insert Cut Cells. The same steps work for a different open workbook.

How do I move rows to columns in Excel?

Select the rows, press Ctrl + C, right-click the top-left destination cell, and select Transpose under Paste Options. Cut does not work for transposing, and Transpose is not available inside an Excel table until you convert it to a range.

How do I quickly move rows in Excel?

Shift + drag is the quickest when both positions are on screen. To reorder many rows at once, number them in a helper column and sort on that column from the Data tab.

How do I move rows in an Excel table or spreadsheet?

Select the rows and use Shift + drag or Insert Cut Cells. In a table you can also reorder rows by sorting on a column, because Sort works on both tables and ranges.

Why can't I drag and move rows in Excel?

The most common cause is that drag-and-drop is turned off. Select File > Options > Advanced and tick Enable fill handle and cell drag-and-drop. A protected sheet or a non-adjacent selection also stops a drag.

How do I move rows in Excel on Windows desktop?

In Excel for Windows, select the row number, hold Shift, and drag the border to the new position. The Home tab Cut command with Insert Cut Cells gives the same result without dragging.

Excel range of months and values pasted again as transposed data
Copy with Ctrl + C and choose Transpose under Paste Options; Cut does not work for turning rows into columns. (Image: Microsoft)

Final thoughts: the best way to move rows in Excel

Use Shift + drag for nearby rows and Insert Cut Cells for anything far away or on another sheet. Both insert the row without overwriting data and undo in one step. Keep VBA for moves you repeat, and a helper-column sort for reordering many rows at once.

Philip Celasco

Philip is a Texas-based technology writer and IT administrator at Techdows.com with more than 10 years of experience creating practical content for everyday users and professionals. He specializes in web browsers, particularly Chromium-based platforms such as Google Chrome, Microsoft Edge, Brave, and Opera. Through his work as an IT administrator, Philip has hands-on experience managing devices, configuring browser policies, troubleshooting software and network issues, and helping people resolve problems that affect productivity and security. His articles are based on practical testing and real-world technical experience. He covers browser settings, extensions, performance problems, privacy controls, security features, and Windows troubleshooting. Outside work, Philip enjoys the quieter side of life in Texas and stepping away from the screen when he can. He has two kids, two cats and loves to play golf with his mother during the weekends.

Leave a Reply

Your email address will not be published. Required fields are marked *