Необходимость поменять местами ячейки друг с другом при работе с электронной таблицей Microsoft Excel возникает довольно редко. Однако такие ситуации случаются, и их необходимо решать. Давайте узнаем, как вы можете поменять местами ячейки в Excel.
Перемещение ячеек
К сожалению, в стандартном наборе инструментов нет такой функции, которая могла бы поменять местами две ячейки без дополнительных действий или без смещения диапазона. Но, в то же время, хотя эта процедура передачи не так проста, как хотелось бы, ее все же можно организовать, причем несколькими способами.
Способ 1: перемещение с помощью копирования
Первое решение проблемы — банальное копирование данных в отдельную область с последующей заменой. Посмотрим, как это делается.
- Выберите ячейку, которую нужно переместить. Нажмите кнопку «Копировать». Он находится на ленте на вкладке «Главная» в группе настроек «Буфер обмена».
- Выберите любые другие пустые элементы на листе. Нажмите кнопку «Вставить». Она находится на той же панели инструментов на ленте, что и кнопка «Копировать», но в отличие от нее выглядит более заметной из-за своего размера.
- Далее мы переходим ко второй ячейке, данные которой нужно переместить на место первой. Выделите его и снова нажмите кнопку «Копировать».
- Выделите первую ячейку с данными курсором и нажмите кнопку «Вставить» на ленте.
- Мы переместили значение туда, где оно нам нужно. Теперь вернемся к значению, которое мы ввели в пустую ячейку. Выделите его и нажмите кнопку «Копировать».
- Выберите вторую ячейку, в которую вы хотите переместить данные. Нажмите кнопку «Вставить» на ленте.
- Итак, мы обменялись необходимыми данными. Теперь вы должны удалить содержимое транзитной ячейки. Выберите его и щелкните правой кнопкой мыши. В контекстном меню, которое активировалось после этих действий, перейдите к пункту «Удалить контент».
Теперь данные о транзите удалены, и задача перемещения ячеек завершена.
Конечно, этот способ не совсем удобен и требует множества дополнительных действий. Однако именно он применим к большинству пользователей.
Способ 2: перетаскивание
Другой способ поменять местами ячейки — просто перетаскивать их. Однако при использовании этой опции ячейки будут сдвинуты.
Выберите ячейку, которую хотите переместить в другое место. Поместите курсор на его край. При этом он должен превратиться в стрелку, на конце которой есть указатели, указывающие в четырех направлениях. Удерживая нажатой клавишу Shift на клавиатуре, перетащите в нужное место.
Как правило, это должна быть соседняя ячейка, так как при передаче смещается весь диапазон.
Поэтому перемещение по нескольким ячейкам очень часто происходит неправильно в контексте конкретной таблицы и используется редко. Но сама необходимость в изменении содержания удаленных областей никуда не исчезает, а требует других решений.
Способ 3: применение макросов
Как упоминалось выше, в Excel нет быстрого и правильного способа без копирования в транзитном диапазоне, чтобы поменять местами две ячейки друг с другом, если они не находятся в соседних областях. Но этого можно добиться за счет использования сторонних макросов или надстроек. Ниже мы поговорим об использовании одного из этих специальных макросов.
- Прежде всего, вам необходимо включить в своей программе режим макросов и панель разработчика, если вы еще не активировали их, так как по умолчанию они отключены.
- Затем перейдите на вкладку «Разработчик». Мы нажимаем на кнопку «Visual Basic», которая находится на ленте в панели инструментов «Код».
- Издатель запущен. В него нужно вставить следующий код:
В разделе «Переместить ячейки()
Dim ra As Range: Set ra = Выбор
msg1 = «Выберите ДВА интервала одинакового размера»
msg2 = «Выберите два диапазона ИДЕНТИЧНЫХ размеров»
Если ra.Areas.Count 2, то MsgBox msg1, vbCritical, «Problem»: Exit Sub
Если ra.Areas (1) .Count ra.Areas (2) .Count Then MsgBox msg2, vbCritical, «Problem»: выход из Sub
Application.ScreenUpdating = False
arr2 = ra.Aree (2) .Value
ra.Aree (2) .Value = ra.Aree (1) .Value
ra.Aree (1) .Value = arr2
Конец подзаголовкаПосле ввода кода закройте окно редактора, нажав стандартную кнопку закрытия в правом верхнем углу. Затем код будет записан в память книги, и его алгоритм может быть воспроизведен для выполнения необходимых нам операций.
- Выберите две ячейки или два диапазона равного размера, которые мы хотим поменять местами. Для этого щелкните левой кнопкой мыши по первому элементу (диапазону). Затем зажимаем кнопку Ctrl на клавиатуре и также щелкаем левой кнопкой мыши по второй ячейке (диапазону).
- Чтобы запустить макрос, нажмите кнопку «Макрос», расположенную на ленте под вкладкой «Разработчик» на панели инструментов «Код».
- Откроется окно выбора макроса. Отметьте нужный элемент и нажмите кнопку «Выполнить».
- После этого действия макрос в некоторых местах автоматически меняет содержимое выделенных ячеек.
важно отметить, что при закрытии файла макрос автоматически удаляется, поэтому в следующий раз вам нужно будет перезаписать его. Чтобы не выполнять эту работу каждый раз для конкретной книги, если вы планируете постоянно выполнять в ней такие перемещения, вам необходимо сохранить файл как книгу Excel с поддержкой макросов (xlsm).
Как видите, в Excel есть несколько способов перемещения ячеек относительно друг друга. Это можно сделать стандартными средствами программы, но эти варианты довольно громоздки и требуют много времени. К счастью, существуют сторонние макросы и надстройки, которые помогут решить проблему как можно быстрее и проще. Так что для пользователей, которым приходится постоянно использовать такие движения, последний вариант будет наиболее оптимальным.