Перемещение ячеек относительно друг друга в Microsoft Excel

Потребность поменять ячейки местами друг с другом при работе в таблице Microsoft Excel случается довольно редко. Тем не менее, такие ситуации бывают и их нужно решать. Давайте выясним, какими способами можно поменять ячейки местами в Экселе.

Перемещение ячеек

К сожалению, в стандартном наборе инструментов нет такой функции, которая бы без дополнительных действий или без сдвига диапазона, могла бы менять местами две ячейки. Но, в то же время, хотя данная процедура перемещения и не так проста, как хотелось бы, её все-таки можно устроить, причем несколькими способами.

Способ 1: перемещение с помощью копирования

Первый вариант решения проблемы предусматривает банальное копирование данных в отдельную область с последующей заменой. Давайте разберемся, как это делается.

  1. Выделяем ячейку, которую следует переместить. Жмем на кнопку . Она размещена на ленте во вкладке в группе настроек .
  2. Выделяем любой другой пустой элемент на листе. Жмем на кнопку . Она находится в том же блоке инструментов на ленте, что и кнопка , но в отличие от неё имеет гораздо более заметный вид из-за своих размеров.
  3. Далее переходим ко второй ячейке, данные которой нужно переместить на место первой. Выделяем её и опять жмем на кнопку .
  4. Выделяем курсором первую ячейку с данными и жмем на кнопку на ленте.
  5. Одно значение мы переместили, куда нам нужно. Теперь возвращаемся к тому значению, которое мы вставили в пустую ячейку. Выделяем его и жмем на кнопку .
  6. Выделяем вторую ячейку, в которую нужно переместить данные. Жмем на кнопку на ленте.
  7. Итак, нужные данные мы поменяли местами. Теперь следует удалить содержимое транзитной ячейки. Выделяем её и щелкаем правой кнопкой мыши. В контекстном меню, которое активировалось после этих действий, переходим по пункту .

Теперь транзитные данные удалены, а задача по перемещению ячеек полностью выполнена.

Конечно, данный способ не совсем удобен и требует множества дополнительных действий. Тем не менее, именно он применим большинством пользователей.

Способ 2: перетаскивание

Ещё одним способом, с помощью которого существует возможность поменять ячейки местами, можно назвать простое перетаскивание. Правда при использовании этого варианта произойдет сдвиг ячеек.

Выделяем ячейку, которую нужно переместить в другое место. Устанавливаем курсор на её границу. При этом он должен преобразоваться в стрелку, на конце которой находятся указатели, направленные в четыре стороны. Зажимаем клавишу на клавиатуре и перетаскиваем на то место куда хотим.

Читайте также  Конвертирование HTML в форматы Microsoft Excel

Как правило, это должна быть смежная ячейка, так как при переносе таким способом происходит сдвиг всего диапазона.

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

Способ 3: применение макросов

Как уже было сказано выше, не существует быстрого и корректно способа в Эксель без копирования в транзитный диапазон поменять две ячейки между собой местами, если находятся они не в смежных областях. Но этого можно добиться за счет применения макросов или сторонних надстроек. Об использовании одного такого специального макроса мы и поговорим ниже.

  1. Прежде всего, нужно включить у себя в программе режим работы с макросами и панель разработчика, если вы их до сих пор не активировали, так как по умолчанию они отключены.
  2. Далее переходим во вкладку «Разработчик». Выполняем щелчок по кнопке «Visual Basic», которая размещена на ленте в блоке инструментов «Код».
  3. Выполняется запуск редактора. В него нужно вставить следующий код:

    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

    После того, как код вставлен, закрываем окно редактора, нажав на стандартизированную кнопку закрытия в его верхнем правом углу. Таким образом код будет записан в память книги и его алгоритм можно будет воспроизвести для выполнения нужных нам операций.

  4. Выделяем две ячейки или два диапазона равных размеров, которые хотим поменять местами. Для этого кликаем по первому элементу (диапазону) левой кнопкой мыши. Затем зажимаем кнопку на клавиатуре и также кликаем левой кнопкой мышки по второй ячейке (диапазону).
  5. Чтобы запустить макрос, жмем на кнопку , размещенную на ленте во вкладке в группе инструментов .
  6. Открывается окно выбора макроса. Отмечаем нужный элемент и жмем на кнопку .
  7. После этого действия макрос автоматически меняет содержимое выделенных ячеек местами.

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

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

Мы рады, что смогли помочь Вам в решении проблемы.
Помимо этой статьи, на сайте еще 13048 полезных инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам. Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Источник: starhit

Домашние хитрости