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