Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have to do some manual reordering or rows in Excel and cut/paste is too hard to use. I'm looking for something that would enable me to use drag'n'drop or to add some buttons to move-up/down move-top/bottom.

share|improve this question
add comment

7 Answers

  1. Select the row/column.
  2. Move your mouse cursor to the row/column's boundary (so that you see the four-way-arrow cursor).
  3. Press Shift on your keyboard, then click and drag the row/column.

The Shift key shifts the row/column instead of overwriting the target row/column.

share|improve this answer
1  
On mac, for step two you want to move your mouse cursor so that you see the hand icon, not the four-way-arrow cursor. –  Scott Ritchie Jun 12 at 2:11
add comment

This is still a cut/paste method, but is the simplest way I can think of.

4-click solution: (eg. move row 8 above row 5)

  1. Right click row number (eg. row 8), click Cut
  2. Right click row number (eg. row 5), click Insert Copied Cells

Note: This also works for moving multiple rows.

share|improve this answer
add comment

In dealing with similar cases in the past, where I could not just sort by a row, I found way to generate a column with a formula result that was something I could sort on.

I found a more direct answer to your question from this site:

Microsoft Word has a feature which Excel is lacking. Jon's method involves moving the data to Word, employing the Word command and then pasting the data back to Excel. Follow these steps.

  1. Copy the relevant chunk of rows and columns out of your speadsheet. It is best to note the size of the range, e.g., 118 rows x 5 columns
  2. Paste the data into a Microsoft Word document, where it automatically becomes a table and retains all your formatting.
  3. In Word, use the little-known SHIFT-ALT-UP-ARROW and SHIFT-ALT-DOWN-ARROW to very speedily slide rows (or selected chunks of rows) up and down at will. Select one or more rows. You can select the entire row or just a portion of the row as shown here.

    enter image description here

    Hit Shift+Alt+UpArrow several times in order to quickly slide the rows up into position.

    enter image description here

  4. When you have sequenced the rows as you like, paste them back into Excel, making sure you overwrite the exact same size chunk you copied.

share|improve this answer
add comment

In Mac, use Command + Shift while dragging. I suppose that in windows it should be Win + Shift.

share|improve this answer
add comment

This is the easiest one I found. Can't really drag and drop:

For example to move row 3 before row 2:

  • right click on row 3 (on the number 3 at left) and select Cut
  • right click on row 2 (on the number 2) and select Insert Cut Cells
share|improve this answer
add comment

And the following to your Personal Macro Workbook and assign them shortcut keys. The behaviour mimics Sublime Text's Swap Line Up & Swap Line Down.

Sub move_rows_down()
    Dim rOriginalSelection As Range
    Set rOriginalSelection = Selection.EntireRow
    With rOriginalSelection
        .Select
        .Cut
        .Offset(rOriginalSelection.rows.Count + 1, 0).Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub

Sub move_rows_up()
    Dim rOriginalSelection As Range
    Set rOriginalSelection = Selection.EntireRow
    With rOriginalSelection
        .Select
        .Cut
        .Offset(-1, 0).Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub
share|improve this answer
add comment

A slight improvement on @wilson's answer:

Right click row number (eg. row 8), hit "t" Right click row number (eg. row 5), hit "e"

Mixing use of the mouse and keyboard really speeds it up for me.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.