2011-02-24 11:24:43 +0000 2011-02-24 11:24:43 +0000
148
148

Как легко переупорядочить строки в Excel с помощью перетаскивания или перемещения вверх или вниз?

Я должен сделать некоторые ручные переупорядочивания или строк в Excel и вырезать/вставить слишком сложно. Я ищу что-то, что позволило бы мне использовать drag'n'drop или добавить несколько кнопок для перемещения вверх/вниз с помощью перетаскивания вверх/вниз с помощью перетаскивания вверх/вниз.

Ответы (10)

216
216
216
2011-07-24 19:59:02 +0000
  1. Выберите строку/столбец.
  2. Подведите курсор мыши к границе строки/столбца, чтобы увидеть курсор с четырьмя стрелками (или курсор руки на Mac).
  3. Нажмите клавишу Shift на клавиатуре, затем щелкните и перетащите строку/столбень.

Клавиша Shift shifts строка/столбень вместо перезаписи целевой строки/столбца.

14
14
14
2011-02-28 07:38:02 +0000

Это все еще метод вырезания/вставки, но это самый простой способ, который я могу придумать.

4 click solution: (например, переместить строку 8 выше строки 5)

  1. Щелкните правой кнопкой мыши номер строки (например, строка 8), нажмите Cut (или T)

  2. Щелкните правой кнопкой мыши номер строки (например, строка 5), нажмите Вставить вырезать ячейки (или E)

Примечание: Это также работает для перемещения нескольких строк.

3
3
3
2014-01-23 11:04:06 +0000

Добавьте следующие макросы в свою рабочую книгу Personal Macro и назначьте им ярлыки. Поведение имитирует линию подкачки вверх и линию подкачки вниз 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
2
2
2
2011-02-24 11:44:22 +0000

В подобных случаях в прошлом, когда я не мог просто отсортировать по строке, я нашел способ сгенерировать столбец с результатом по формуле, который я мог отсортировать.

я нашел более прямой ответ на ваш вопрос из этого сайта :

В Microsoft Word есть функция, которой Excel не хватает. Метод Джона включает в себя перемещение данных в Word, использование команды Word и последующую вставку данных обратно в Excel. Выполните следующие шаги.

  1. Скопируйте соответствующий фрагмент строк и столбцов из листа речи. Лучше всего указать размер диапазона, например, 118 строк x 5 столбцов
  2. Вставьте данные в документ Microsoft Word, где они автоматически станут таблицей и сохранят все ваши форматирования.
  3. В Word используйте малоизвестные SHIFT-ALT-UP-ARROW и SHIFT-ALT-DOWN-ARROW для очень быстрого скольжения строк (или выбранных фрагментов строк) вверх и вниз по желанию. Выберите один или несколько рядов. Вы можете выбрать весь ряд или только его часть, как показано здесь.

  4. После того, как вы выберете нужную последовательность строк, вставьте их обратно в Excel, убедившись, что вы перезаписали фрагменты того же размера, что и скопированные вами.

2
2
2
2012-07-12 13:12:26 +0000

На Mac, используйте Command + Shift во время перетаскивания. Я полагаю, что в окнах это должно быть Win + Shift.

1
1
1
2015-02-21 15:54:17 +0000

Попробуйте:

Shift + пробел или щелкните мышью по номеру линии, чтобы выбрать линию

Ctrl + X, чтобы вырезать

Мышь щелкните там, где вы хотите, чтобы он.

Ctrl + V, чтобы вставить его.

1
1
1
2019-11-18 10:10:12 +0000

Для снобов вроде меня, которые хотят использовать только клавиатуру:

  1. Выберите клетки, которые вы хотите переместить (для этого не обязательно должен быть полный ряд)
  2. Переместитесь в ячейку, расположенную непосредственно под той, которую вы хотите переместить в
  3. Нажмите ctrl-+
1
1
1
2014-06-25 15:11:49 +0000

Небольшое улучшение в ответе @wilson:

Номер строки щелкните правой кнопкой мыши (например, строка 8), нажмите “t” Номер строки щелкните правой кнопкой мыши (например, строка 5), нажмите “e”

Смешивание использования мыши и клавиатуры действительно ускоряет его для меня.

1
1
1
2015-05-08 17:03:37 +0000

Вот подлодка, которая также работает для колонн; она сочетает в себе функциональность для всех четырех направлений:

Sub MoveRowsOrColumns(direction As String)
    Dim rOriginalSelection As Range

    Select Case direction
    Case "up", "down"
        Set rOriginalSelection = Selection.EntireRow
    Case "left", "right"
        Set rOriginalSelection = Selection.EntireColumn
    Case Else
        Debug.Assert False
    End Select

    With rOriginalSelection
        .Select
        .Cut
        Select Case direction
        Case "up"
            .Offset(-1, 0).Select
        Case "down"
            .Offset(rOriginalSelection.Rows.Count + 1, 0).Select
        Case "left"
            .Offset(0, -1).Select
        Case "right"
            .Offset(0, rOriginalSelection.Columns.Count + 1).Select
        End Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub
-1
-1
-1
2013-08-31 10:37:42 +0000

Это самое простое, что я нашел. *Не может действительно перетащить: *

Например, чтобы переместить строку 3 перед строкой 2:

  • щелкните правой кнопкой мыши на строке 3 (на номер 3 слева) и выберите Cut
  • щелкните правой кнопкой мыши на строке 2 (на номер 2) и выберите Вставить вырезанные ячейки

Похожие вопросы

6
13
9
14
7