Перемещение ячеек относительно друг друга в 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





Важно отметить, что при закрытии файла макрос автоматически удаляется, так что в следующий раз его придется записывать снова. Чтобы не делать эту работу каждый раз для конкретной книги, если вы планируете в ней постоянно проводить подобные перемещения, то следует сохранить файл как Книгу Excel с поддержкой макросов (xlsm).
Как видим, в Excel существует несколько способов перемещения ячеек относительно друг друга. Это можно сделать и стандартными инструментами программы, но данные варианты довольно неудобны и занимают много времени. К счастью, существуют макросы и надстройки сторонних разработчиков, которые позволяют решить поставленную задачу максимально легко и быстро. Так что для пользователей, которым приходится постоянно применять подобные перемещения, именно последний вариант будет самым оптимальным.
Мы рады, что смогли помочь Вам в решении проблемы.
Как поменять местами ячейки в Excel

Иногда требуется местами две ячейки или целые области ячеек. Сделать это можно вручную в несколько шагов:
- Скопировать первую ячейку и вставить ее в какую-нибудь пустую неиспользуемую ячейку.
- Скопировать вторую ячейку и вставить вместо первой.
- Скопировать из 1-го действия первую ячейку и вставить вместо второй.
В общем это достаточно простая задача, на которую требуется секунд 20, однако, когда и этот процесс можно автоматизировать, работа становится намного приятнее.
Поменять ячейки местами в одно действие
Это возможно с помощью надстройки VBA-Excel. Чтобы поменять ячейки местами необходимо:

- Выделить первую ячейку или диапазон ячеек.
- Зажав клавишу Ctrl выделить вторую ячейку или диапазон ячеек.
- Перейти на вкладку VBA-Excel, которая появится после установки программы.
- В меню Поменять местами выберите команду Поменять ячейки.
Очевидно, что данным способом можно поменять местами два диапазона одинакового размера. Если вы попытаетесь выполнить эту операцию с неравными диапазонами, надстройка выдаст ошибку
3 способа, как поменять местами ячейки в Excel
Изменение порядка ячеек часто необходимо выполнить при трансформировании таблиц, форматировании текста и всего содержимого электронного листа в Microsoft Excel в целом. У новичков порой возникает проблема с данным вопросом, поэтому в этой статье мы поможем избавиться от подобных трудностей несколькими способами.
Первый способ: копирование
Так как отдельной функции, специально предназначенной для переноса ячеек с одной части листа на другую, не существует, придется воспользоваться другими методами. Итак, первый из них — это копирование. Производится пошагово следующим образом:
- У нас есть таблица с сохраненными данными. Из нее необходимо перенести несколько ячеек в произвольную часть листа. Для этого кликаем по одной из них, затем в панели инструментов во вкладке «Главная» находим значение «Копировать». Также можно выделив ячейку, сделать клик правой кнопкой мыши и выбрать «Копировать» через контекстное меню. Быстрый способ скопировать данные — одновременно нажать комбинацию клавиш «Ctrl+C».
- Проверяем скопировалось ли значение. Для этого заходим в «Буфер обмена». Он расположен во вкладке «Главная» в первом блоке. Кликаем по стрелке вниз и в открывшемся окне слева видим скопированный только что текст или число. Это значит, что копирование данных выполнить удалось.
Обратите внимание! Если нажать «Очистить все», то копирование придется сделать заново, потому как данные удалятся.
- Теперь на листе выбираем место, в которое желаем переместить содержимое ячейки, нажимаем комбинацию клавиш «Ctrl+V» или же вызываем контекстное меню с помощью ПКМ, где кликаем по пункту «Вставить». Можно пользоваться инструментом «Специальная вкладка», который позволяет выполнить настройку вставки скопированного значения.
- Аналогично переносятся все оставшиеся ячейки, если это необходимо. Чтобы перенести всю таблицу в целом, следует полностью выполнить выделение всего диапазона. После того, как все элементы перенесены, можно отформатировать прежнюю часть листа, на которой еще остались оригинальные данные.
Второй способ: сдвиг ячеек
Иначе это называется перетаскивание. Выполнить его не сложно, главное проследить, чтобы все данные были скопированы, иначе перенос будет выполнен с искажением. Рассмотрим подробности в алгоритме ниже:
- Наводим курсор мыши на границу той ячейки, которую нужно перенести на другую часть листа. Обратите внимание, что курсор должен превратиться в крестообразный значок. После этого зажимаем клавишу мыши и перетаскиваем ячейку в нужное место.
- Также можно сделать перемещение одной ячейки на несколько ступеней вверх или вниз. Для этого также выделим ячейку, перенесем ее на нужное место, после чего выровняем порядок оставшихся окошек, которые сместились вследствие переноса.
При таком способе выделенные ячейки переходят в другую область, при этом все содержимое внутри них сохраняется, а прежние места становятся пустыми.
Третий способ: применение макросов
Данной опцией можно воспользоваться, если макросы по умолчанию установлены в Excel, в противном случае их придется добавить через систему внутренних настроек. Разберем детали выбранного способа:
- Переходим в меню «Файл», затем в нижней части списка переходим к пункту «Параметры».
- Открывается окно «Параметры Excel», здесь необходимо кликнуть по пункту «Настроить ленту» и поставить галочку напротив пункта «Разработчик». Подтверждаем свои действия кнопкой «ОК».
Сразу обратите внимание на панель вкладок, вкладка с названием «Разработчик должна появиться в самом конце.
- После переключаемся на вкладку «Разработчик», в ней находим инструмент «Visual Basic». 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
- Следом жмем кнопку «Enter», чтобы данные сохранились. После сохранения можно закрыть окно редактора и продолжить редактирование.
- Зажимаем клавишу «Ctrl», затем выделяем одинаковое количество строк и столбцов, чтобы получился равномерный со всех сторон диапазон. Теперь переходим к разделу «Макросы» в панели инструментов, кликаем по нему, открывается окно с функцией. Жмем кнопку «Выполнить».
- Итог данного процесса — смена местоположения ячеек в пределах одного листа.
На заметку! Существует возможность переноса индивидуальных ячеек и их диапазонов с одного листа Excel на другой, причем для этого используется только один многостраничный файл.
Подведем итоги
Для новичков больше подойдут первые два варианта переноса ячеек. Они не требуют углубленных знаний программы Microsoft Excel и работают в разных версиях табличного процессора. Что касается макросов, то использование данной методики довольно сложное, очень важно ничего не перепутать, иначе велик риск совершить ошибку и вовсе отформатировать всю страницу без возврата данных, поэтому при переносе ячеек рекомендуется быть предельно внимательными.