Excel поменять ячейки местами
Как поменять ячейки местами в Excel
При работе с таблицами иногда возникает потребность поменять столбцы, расположенные в ней, местами. Давайте разберемся, как это сделать в приложении Microsoft Excel без потери данных, но, при этом, как можно проще и быстрее.
Перемещение столбцов
В Экселе колонки можно поменять несколькими способами, как довольно трудоёмкими, так и более прогрессивными.
Способ 1: копирование
Данный способ универсальный, так как подходит даже для очень старых версий Excel.
-
Кликаем по любой ячейке столбца, слева от которого мы планируем перенести другую колонку. В контекстном списке выбираем пункт «Вставить…».
На этом перемещение элементов будет завершено.
Способ 2: вставка
Впрочем, существует и более простой вариант перемещения в Экселе.
- Кликаем по горизонтальной панели координат с буквой, обозначающей адрес для того, чтобы выделить весь столбец.
После этого действия элементы переместятся так, как вы этого хотели. При необходимости, таким же образом можно перемещать группы колонок, выделяя для этого соответствующий диапазон.
Способ 3: продвинутый вариант перемещения
Существует также более простой и продвинутый способ перемещения.
-
Выделяем столбец, который хотим переместить.
После этого нужные колонки поменяются местами.
Внимание! Если вы используете старую версию Excel (2007 и ранее), то клавишу Shift при перемещении зажимать не нужно.
Как видим, существует несколько способов поменять столбцы местами. Есть как довольно трудоёмкие, но в то же время универсальные варианты действий, так и более продвинутые, которые, правда, не всегда работают на старых версиях Excel.
Поменять местами содержимое ячеек в Excel?
есть ли простой способ поменять содержимое двух ячеек в Microsoft Excel?
под easy я имею в виду либо сочетание клавиш, либо пункт меню, без копирования во временные ячейки или написания сценариев VBA или что-то в этом роде. Другими словами, Я ищу способ просто выбрать две ячейки и щелкнуть какой-либо пункт меню или нажать какую-либо комбинацию клавиш, которая будет менять их содержимое. Конечно, должен быть способ сделать это?
иногда нужно поменять местами две соседние ячейки. Мы можем вручную сделать это легко. Посмотрите на следующий скриншот, я хочу поменять местами ячейки A4 и B4, пожалуйста сделайте так:
выберите ячейку, которую вы хотите поменять. В данном примере выберите ячейку A4.
пресс Shift ключ, и положил курсор на правую границу.
затем перетащите курсор на правую границу ячейки B4.
когда появится «工», отпустите кнопку мыши.
и содержимое двух ячеек поменялось местами.
с помощью этого метода, мы также можем поменять два смежные строки или столбцы.
под easy я имею в виду либо сочетание клавиш, либо пункт меню, без копирования во временные ячейки или написание VBA скриптов или что-то в этом роде. Я ищу способ просто выбрать две ячейки и щелкнуть какой-либо пункт меню или нажать комбинацию клавиш, которая будет менять их содержимое.
зачем вводить это ограничение? Создание макроса делает это тривиальным. Насколько я знаю, по-другому и быть не может. Макрос можно назначить кнопке или клавиша.
для конкретного случая соседних ячеек, вы можете использовать метод, описанный в это ответ на подобный вопрос.
- выберите правую или нижнюю ячейку
- пресс Ctrl + x
- выберите соседнюю ячейку (т. е. непосредственно над или слева)
- пресс Ctrl + + (том + обычно выше = ключ, так что это переводится как Ctrl + Shift + = )
Примечание Вы можете использовать ту же процедуру, чтобы поменять местами все соседние строки или столбцы.
нет. Невозможно поменять местами содержимое двух ячеек в Excel, не написав для этого собственный макрос.
EDIT: похоже, что теперь может быть простой способ поменять содержимое ячейки в более поздних версиях Excel, поэтому этот ответ, вероятно, устарел.
выберите первый набор ячеек для замены и нажмите ctrl + x :
выберите ячейки рядом с теми, которые вы хотите поменять местами и нажмите ctrl + + .
вы можете вставить до 25 элементов в буфер обмена, так что они легко поменять местами с помощью ctr + tab или cmd + tab mac
Я читал этот пост, но на самом деле нуждался в макросе для обмена полными диапазонами. Кроме того, мне нужно было поменять цвета. Немного модифицировал первоначально размещенный макрос, это может быть полезно для кого-то.
Перемещение ячеек относительно друг друга в Microsoft Excel
Потребность поменять ячейки местами друг с другом при работе в таблице Microsoft Excel случается довольно редко. Тем не менее, такие ситуации бывают и их нужно решать. Давайте выясним, какими способами можно поменять ячейки местами в Экселе.
Перемещение ячеек
К сожалению, в стандартном наборе инструментов нет такой функции, которая бы без дополнительных действий или без сдвига диапазона, могла бы менять местами две ячейки. Но, в то же время, хотя данная процедура перемещения и не так проста, как хотелось бы, её все-таки можно устроить, причем несколькими способами.
Способ 1: перемещение с помощью копирования
Первый вариант решения проблемы предусматривает банальное копирование данных в отдельную область с последующей заменой. Давайте разберемся, как это делается.
- Выделяем ячейку, которую следует переместить. Жмем на кнопку «Копировать». Она размещена на ленте во вкладке «Главная» в группе настроек «Буфер обмена».
Выделяем любой другой пустой элемент на листе. Жмем на кнопку «Вставить». Она находится в том же блоке инструментов на ленте, что и кнопка «Копировать», но в отличие от неё имеет гораздо более заметный вид из-за своих размеров.
Далее переходим ко второй ячейке, данные которой нужно переместить на место первой. Выделяем её и опять жмем на кнопку «Копировать».
Одно значение мы переместили, куда нам нужно. Теперь возвращаемся к тому значению, которое мы вставили в пустую ячейку. Выделяем его и жмем на кнопку «Копировать».
Выделяем вторую ячейку, в которую нужно переместить данные. Жмем на кнопку «Вставить» на ленте.
Теперь транзитные данные удалены, а задача по перемещению ячеек полностью выполнена.
Конечно, данный способ не совсем удобен и требует множества дополнительных действий. Тем не менее, именно он применим большинством пользователей.
Способ 2: перетаскивание
Ещё одним способом, с помощью которого существует возможность поменять ячейки местами, можно назвать простое перетаскивание. Правда при использовании этого варианта произойдет сдвиг ячеек.
Выделяем ячейку, которую нужно переместить в другое место. Устанавливаем курсор на её границу. При этом он должен преобразоваться в стрелку, на конце которой находятся указатели, направленные в четыре стороны. Зажимаем клавишу Shift на клавиатуре и перетаскиваем на то место куда хотим.
Как правило, это должна быть смежная ячейка, так как при переносе таким способом происходит сдвиг всего диапазона.
Поэтому перемещение через несколько ячеек чаще всего происходит некорректно в контексте конкретной таблицы и применяется довольно редко. Но сама потребность поменять содержимое далеко стоящих друг от друга областей не исчезает, а требует других решений.
Способ 3: применение макросов
Как уже было сказано выше, не существует быстрого и корректно способа в Эксель без копирования в транзитный диапазон поменять две ячейки между собой местами, если находятся они не в смежных областях. Но этого можно добиться за счет применения макросов или сторонних надстроек. Об использовании одного такого специального макроса мы и поговорим ниже.
- Прежде всего, нужно включить у себя в программе режим работы с макросами и панель разработчика, если вы их до сих пор не активировали, так как по умолчанию они отключены.
- Далее переходим во вкладку «Разработчик». Выполняем щелчок по кнопке «Visual Basic», которая размещена на ленте в блоке инструментов «Код».
Выполняется запуск редактора. В него нужно вставить следующий код:
Sub ПеремещениеЯчеек()
Dim ra As Range: Set ra = Selection
msg1 = «Произведите выделение ДВУХ диапазонов идентичного размера»
msg2 = «Произведите выделение двух диапазонов ИДЕНТИЧНОГО размера»
If ra.Areas.Count 2 Then MsgBox msg1, vbCritical, «Проблема»: Exit Sub
If ra.Areas(1).Count ra.Areas(2).Count Then MsgBox msg2, vbCritical, «Проблема»: Exit Sub
Application.ScreenUpdating = False
arr2 = ra.Areas(2).Value
ra.Areas(2).Value = ra.Areas(1).Value
ra.Areas(1).Value = arr2
End Sub
После того, как код вставлен, закрываем окно редактора, нажав на стандартизированную кнопку закрытия в его верхнем правом углу. Таким образом код будет записан в память книги и его алгоритм можно будет воспроизвести для выполнения нужных нам операций.
Выделяем две ячейки или два диапазона равных размеров, которые хотим поменять местами. Для этого кликаем по первому элементу (диапазону) левой кнопкой мыши. Затем зажимаем кнопку Ctrl на клавиатуре и также кликаем левой кнопкой мышки по второй ячейке (диапазону).
Чтобы запустить макрос, жмем на кнопку «Макросы», размещенную на ленте во вкладке «Разработчик» в группе инструментов «Код».
Открывается окно выбора макроса. Отмечаем нужный элемент и жмем на кнопку «Выполнить».
Важно отметить, что при закрытии файла макрос автоматически удаляется, так что в следующий раз его придется записывать снова. Чтобы не делать эту работу каждый раз для конкретной книги, если вы планируете в ней постоянно проводить подобные перемещения, то следует сохранить файл как Книгу Excel с поддержкой макросов (xlsm).
Как видим, в Excel существует несколько способов перемещения ячеек относительно друг друга. Это можно сделать и стандартными инструментами программы, но данные варианты довольно неудобны и занимают много времени. К счастью, существуют макросы и надстройки сторонних разработчиков, которые позволяют решить поставленную задачу максимально легко и быстро. Так что для пользователей, которым приходится постоянно применять подобные перемещения, именно последний вариант будет самым оптимальным.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Как поменять местами ячейки в Excel
Описание задачи
Иногда требуется местами две ячейки или целые области ячеек. Сделать это можно вручную в несколько шагов:
- Скопировать первую ячейку и вставить ее в какую-нибудь пустую неиспользуемую ячейку.
- Скопировать вторую ячейку и вставить вместо первой.
- Скопировать из 1-го действия первую ячейку и вставить вместо второй.
В общем это достаточно простая задача, на которую требуется секунд 20, однако, когда и этот процесс можно автоматизировать, работа становится намного приятнее.
Поменять ячейки местами в одно действие
Это возможно с помощью надстройки VBA-Excel. Чтобы поменять ячейки местами необходимо:
- Выделить первую ячейку или диапазон ячеек.
- Зажав клавишу Ctrl выделить вторую ячейку или диапазон ячеек.
- Перейти на вкладку VBA-Excel, которая появится после установки программы.
- В меню Поменять местами выберите команду Поменять ячейки.
Очевидно, что данным способом можно поменять местами два диапазона одинакового размера. Если вы попытаетесь выполнить эту операцию с неравными диапазонами, надстройка выдаст ошибку
Как поменять местами ячейки в Excel
Во время работы в Эксель нередко возникает необходимость в изменении порядка ячеек, например, требуется поменять местами некоторые из них. Как это сделать разными способами, разберем в данной статье.
Процедура перемещения ячеек
Отдельной функции, позволяющей выполнить данную процедуру в программе Excel нет. А при использовании стандартных инструментов неизбежно будет происходить сдвиг остальных ячеек, которые нужно потом вернуть на место, что в результате приведет к дополнительным действиям. Однако методы для выполнения поставленной задачи есть, и о них пойдет речь ниже.
Метод 1: копирование
Это, пожалуй, самый простой способ, который предполагает копирование элементов в другое место с заменой начальных данных. Порядок действий следующий:
- Встаем в первую ячейку (выделяем ее), которую планируем переместить. Находясь в главной вкладке программы нажимаем на кнопку “Копировать” (группа инструментов “Буфер обмена”). Также можно просто нажать комбинацию клавиш Ctrl+C.
- Переходим в любую свободную ячейку на листе и нажимаем кнопку “Вставить” в той же вкладке и группе инструментов. Или можно снова воспользоваться горячими клавишами – Ctrl+V.
- Теперь выделяем вторую ячейку, с которой хотим поменять местами первую, и также копируем ее.
- Встаем в первую ячейку и жмем кнопку “Вставить” (или Ctrl+V).
- Теперь выделяем ячейку, в которую было скопировано значение из первой ячейки и копируем ее.
- Переходим во вторую ячейку, куда нужно вставить данные, и нажимаем соответствующую кнопку на ленте.
- Выбранные элементы успешно поменяны местами. Ячейка, в которой временно размещались скопированные данные, больше не нужна. Щелкаем по ней правой кнопкой мыши и в открывшемся меню выбираем команду “Удалить”.
- В зависимости от того, есть ли рядом с данной ячейкой заполненные элементы справа/снизу или нет, выбираем соответствующий вариант удаления и жмем кнопку OK.
- Вот и все, что нужно было сделать для того, чтобы поменять ячейки местами.
Несмотря на то, что для реализации данного метода нужно выполнить немало дополнительных действий, все же, им пользуется наибольшее количество пользователей.
Метод 2: перетаскивание
Данный метод также применяется для того, чтобы поменять местами ячейки, однако, в этом случае будет происходить сдвиг ячеек. Итак, выполняем следующие действия:
- Выбираем ячейку, которую планируем переместить в новое место. Наводим курсор мыши на ее границу, и как только он изменит вид на привычный указатель (с 4 стрелками в разные стороны на конце), нажав и не отпуская клавишу Shift, выполняем перенос ячейки в новое место с помощью зажатой левой кнопки мыши.
- Чаще всего, этот метод используется для того, чтобы поменять местами соседние ячейки, так как сдвиг элементов в данном случае не нарушит структуру таблицы.
- Если мы решим переместить ячейку через несколько других, это повлечет за собой изменение расположения всех остальных элементов.
- После этого придется восстанавливать порядок.
Метод 3: использование макросов
Мы упоминали в начале статьи, что в Excel, увы, нет специального инструмента, позволяющего оперативно “перекинуть” местами ячейки (за исключением метода выше, который эффективен только для смежных элементов). Однако сделать это можно с помощью макросов:
- Для начала нужно убедиться в том, что в приложении активирован так называемый “режим разработчика” (по умолчанию выключен). Для этого:
- переходим в меню “Файл” и выбираем в перечне слева пункт “Параметры”.
- в параметрах программы щелкаем по подразделу “Настроить ленту”, в правой части ставим галочку напротив пункта “Разработчик” и жмем OK.
- переходим в меню “Файл” и выбираем в перечне слева пункт “Параметры”.
- Переключаемся во вкладку “Разработчик”, где жмем по значку “Visual Basic” (группа инструментов “Код”).
- В редакторе, нажав на кнопку “View Code”, вставляем в появившемся окне код ниже:
Sub ПеремещениеЯчеек()
Dim ra As Range: Set ra = Selection
msg1 = «Произведите выделение ДВУХ диапазонов идентичного размера»
msg2 = «Произведите выделение двух диапазонов ИДЕНТИЧНОГО размера»
If ra.Areas.Count <> 2 Then MsgBox msg1, vbCritical, «Проблема»: Exit Sub
If ra.Areas(1).Count <> ra.Areas(2).Count Then MsgBox msg2, vbCritical, «Проблема»: Exit Sub
Application.ScreenUpdating = False
arr2 = ra.Areas(2).Value
ra.Areas(2).Value = ra.Areas(1).Value
ra.Areas(1).Value = arr2
End Sub - Закрываем окно редактора, щелкнув привычную кнопку в виде крестика в верхнем правом углу.
- Зажав клавишу Ctrl на клавиатуре выделяем две ячейки или две области с одинаковым количество элементов, которые планируем поменять местами. Затем нажимаем кнопку “Макросы” (вкладка “Разработчик”, группа “Код”).
- Появится окно, в котором мы видим ранее созданный макрос. Выбираем его и щелкаем “Выполнить”.
- В результате работы макрос поменяет местами содержимое выделенных ячеек.
Примечание: при закрытии документа макрос будет удален, поэтому, в следующий раз его нужно будет создавать заново (при необходимости). Но, если вы предполагаете, что в дальнейшем придется часто выполнять подобные операции, файл можно сохранить с поддержкой макросов.
Заключение
Работа с ячейками в таблице Эксель предполагает не только внесение, редактирование или удаление данных. Иногда требуется перенести или поменять местами ячейки, содержащие определенные значения. Несмотря на то, что в функционале Эксель нет отдельного инструмента для решения данной задачи, выполнить ее можно путем копирования и последующей вставки значений, переноса ячейки или использования макросов.