Я должен сделать некоторые ручные изменения порядка или строк в Excel, и вырезать / вставить слишком сложно для использования. Я ищу что-то, что позволило бы мне использовать drag'n'drop или добавить несколько кнопок для перемещения вверх / вниз, перемещения вверх / вниз.
9 ответов
- Выберите строку / столбец.
- Переместите курсор мыши к границе строки / столбца, чтобы вы увидели курсор в виде четырехсторонней стрелки (или курсор в виде руки на Mac).
- Нажмите Shift на клавиатуре, затем нажмите и перетащите строку / столбец.
Клавиша Shift сдвигает строку / столбец вместо перезаписи целевой строки / столбца.
Это все еще метод вырезания / вставки, но я думаю, что это самый простой способ.
Решение в 4 клика: (например, переместите строку 8 над строкой 5)
- Щелкните правой кнопкой мыши номер строки (например, строка 8), нажмите « Вырезать» (или T)
- Щелкните правой кнопкой мыши номер строки (например, строка 5), щелкните Вставить вырезанные ячейки (или E).
Примечание: это также работает для перемещения нескольких строк.
Пытаться:
Shift + пробел или щелчок мыши по номеру строки, чтобы выбрать строку
Ctrl + X, чтобы вырезать
Щелкните мышью там, где вы хотите.
Ctrl + V, чтобы вставить его
Добавьте следующие макросы в личную книгу макросов и назначьте им сочетания клавиш. Поведение имитирует Swap Line Up 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
В Mac используйте Ctrl + Shift при перетаскивании. Я полагаю, что в Windows это должен быть Win + Shift.
Имея дело с подобными случаями в прошлом, когда я не мог просто отсортировать по строке, я нашел способ создать столбец с результатом формулы, который я мог бы отсортировать.
Я нашел более прямой ответ на ваш вопрос с этого сайта:
В Microsoft Word есть функция, которой нет в Excel. Метод Джона включает перемещение данных в Word, использование команды Word и затем вставку данных обратно в Excel. Следуй этим шагам.
- Скопируйте соответствующий кусок строк и столбцов из таблицы. Лучше всего отметить размер диапазона, например, 118 строк х 5 столбцов
- Вставьте данные в документ Microsoft Word, где они автоматически становятся таблицей и сохраняют все ваше форматирование.
В Word используйте малоизвестные клавиши SHIFT-ALT-UP-ARROW и SHIFT-ALT-DOWN-ARROW, чтобы очень быстро перемещать строки (или выбранные фрагменты строк) вверх и вниз по желанию. Выберите одну или несколько строк. Вы можете выбрать всю строку или только часть строки, как показано здесь.
Нажмите Shift+Alt+UpArrow несколько раз, чтобы быстро сдвинуть ряды в нужное положение.
Когда вы упорядочите строки по своему усмотрению, вставьте их обратно в Excel, убедившись, что вы перезаписали тот же самый фрагмент размера, который вы скопировали.
Вот подпункт, который также работает для столбцов; он сочетает в себе функциональность для всех четырех направлений:
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
Это самый простой, который я нашел. Не могу перетащить
Например, чтобы переместить строку 3 перед строкой 2:
- щелкните правой кнопкой мыши на строке 3 (номер 3 слева) и выберите « Вырезать».
- щелкните правой кнопкой мыши на строке 2 (на номер 2) и выберите Вставить вырезать клетки
Небольшое улучшение ответа @ wilson:
Щелкните правой кнопкой мыши номер строки (например, строка 8), нажмите "t" Щелкните правой кнопкой мыши номер строки (например, строка 5), нажмите "e"
Смешивание использования мыши и клавиатуры действительно ускоряет его для меня.