Содержание
- Перемещение ячеек
- Способ 1: перемещение с помощью копирования
- Способ 2: перетаскивание
- Способ 3: применение макросов
- Вопросы и ответы
Потребность поменять ячейки местами друг с другом при работе в таблице 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: копирование
- Метод 2: перетаскивание
- Метод 3: использование макросов
- Заключение
Процедура перемещения ячеек
Отдельной функции, позволяющей выполнить данную процедуру в программе Excel нет. А при использовании стандартных инструментов неизбежно будет происходить сдвиг остальных ячеек, которые нужно потом вернуть на место, что в результате приведет к дополнительным действиям. Однако методы для выполнения поставленной задачи есть, и о них пойдет речь ниже.
Метод 1: копирование
Это, пожалуй, самый простой способ, который предполагает копирование элементов в другое место с заменой начальных данных. Порядок действий следующий:
- Встаем в первую ячейку (выделяем ее), которую планируем переместить. Находясь в главной вкладке программы нажимаем на кнопку “Копировать” (группа инструментов “Буфер обмена”). Также можно просто нажать комбинацию клавиш Ctrl+C.
- Переходим в любую свободную ячейку на листе и нажимаем кнопку “Вставить” в той же вкладке и группе инструментов. Или можно снова воспользоваться горячими клавишами – Ctrl+V.
- Теперь выделяем вторую ячейку, с которой хотим поменять местами первую, и также копируем ее.
- Встаем в первую ячейку и жмем кнопку “Вставить” (или Ctrl+V).
- Теперь выделяем ячейку, в которую было скопировано значение из первой ячейки и копируем ее.
- Переходим во вторую ячейку, куда нужно вставить данные, и нажимаем соответствующую кнопку на ленте.
- Выбранные элементы успешно поменяны местами. Ячейка, в которой временно размещались скопированные данные, больше не нужна. Щелкаем по ней правой кнопкой мыши и в открывшемся меню выбираем команду “Удалить”.
- В зависимости от того, есть ли рядом с данной ячейкой заполненные элементы справа/снизу или нет, выбираем соответствующий вариант удаления и жмем кнопку OK.
- Вот и все, что нужно было сделать для того, чтобы поменять ячейки местами.
Несмотря на то, что для реализации данного метода нужно выполнить немало дополнительных действий, все же, им пользуется наибольшее количество пользователей.
Метод 2: перетаскивание
Данный метод также применяется для того, чтобы поменять местами ячейки, однако, в этом случае будет происходить сдвиг ячеек. Итак, выполняем следующие действия:
- Выбираем ячейку, которую планируем переместить в новое место. Наводим курсор мыши на ее границу, и как только он изменит вид на привычный указатель (с 4 стрелками в разные стороны на конце), нажав и не отпуская клавишу Shift, выполняем перенос ячейки в новое место с помощью зажатой левой кнопки мыши.
- Чаще всего, этот метод используется для того, чтобы поменять местами соседние ячейки, так как сдвиг элементов в данном случае не нарушит структуру таблицы.
- Если мы решим переместить ячейку через несколько других, это повлечет за собой изменение расположения всех остальных элементов.
- После этого придется восстанавливать порядок.
Метод 3: использование макросов
Мы упоминали в начале статьи, что в Excel, увы, нет специального инструмента, позволяющего оперативно “перекинуть” местами ячейки (за исключением метода выше, который эффективен только для смежных элементов). Однако сделать это можно с помощью макросов:
- Для начала нужно убедиться в том, что в приложении активирован так называемый “режим разработчика” (по умолчанию выключен). Для этого:
- Переключаемся во вкладку “Разработчик”, где жмем по значку “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 на клавиатуре выделяем две ячейки или две области с одинаковым количество элементов, которые планируем поменять местами. Затем нажимаем кнопку “Макросы” (вкладка “Разработчик”, группа “Код”).
- Появится окно, в котором мы видим ранее созданный макрос. Выбираем его и щелкаем “Выполнить”.
- В результате работы макрос поменяет местами содержимое выделенных ячеек.
Примечание: при закрытии документа макрос будет удален, поэтому, в следующий раз его нужно будет создавать заново (при необходимости). Но, если вы предполагаете, что в дальнейшем придется часто выполнять подобные операции, файл можно сохранить с поддержкой макросов.
Заключение
Работа с ячейками в таблице Эксель предполагает не только внесение, редактирование или удаление данных. Иногда требуется перенести или поменять местами ячейки, содержащие определенные значения. Несмотря на то, что в функционале Эксель нет отдельного инструмента для решения данной задачи, выполнить ее можно путем копирования и последующей вставки значений, переноса ячейки или использования макросов.
На чтение 5 мин Опубликовано 26.12.2020
Изменение порядка ячеек часто необходимо выполнить при трансформировании таблиц, форматировании текста и всего содержимого электронного листа в 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 и работают в разных версиях табличного процессора. Что касается макросов, то использование данной методики довольно сложное, очень важно ничего не перепутать, иначе велик риск совершить ошибку и вовсе отформатировать всю страницу без возврата данных, поэтому при переносе ячеек рекомендуется быть предельно внимательными.
Оцените качество статьи. Нам важно ваше мнение:
Порой при использовании таблиц в качестве журналов для накопления данных, когда постоянно добавляется новая информация в ячейки таблицы, у начинающих пользователей (так называемых «чайников») возникают вопросы о том, как поменять местами две ячейки в таблице.
Ведь заменить данные в ячейке проще и быстрее чем, удалять всю информацию и вносить ее повторно.
Рассмотрим, как можно выполнить обмен (замену) данных в ячейках (делается в четыре шага):
- Установите курсор в ячейку, данные из которой нужно перенести;
- Нажмите и удерживайте клавишу Shift (Шифт) на клавиатуре;
- Не отпуская клавиши, наведите курсор на границу ячейки;
- Нажав левую клавишу мыши, перетяните ячейку на новое место.
При таком способе переноса ячейка вставляется со сдвигом значений в таблице вниз, вверх, вправо или влево.
При работе с данными в Microsoft Excel приходится часто перемещать отдельные позиции. Например, из-за того, что цифра оказалась не там, где нужно. Или понадобилось расставить ряды по алфавиту. Или необходимо, вообще, перевернуть таблицу на 90 градусов. Разберитесь, как поменять местами столбцы в Excel и строки, как перетащить клетку со всем содержимым, как транспонировать сетку или отдельную её часть.
Как перемещать столбцы и строки?
Для перемещения рядов можно использовать опцию Копировать-Вырезать-Вставить. Но так происходит замена всего содержимого в области, куда вставляются объекты. Это не очень удобно, если требуется расположить категории в другом порядке, а не копировать их. Вот как поменять местами строки в Excel:
- Выделите ряд. Для этого кликните на его номер (или на букву, если это столбцы).
- Наведите на границу любой отмеченной ячейки. Курсор примет вид крестика со стрелочками на концах.
- Зажмите клавишу Shift.
- Перемещайте ряд, «зацепив» его за рамку.
- Двигать объект вы будете не вслепую. В той области, куда вы наведёте курсор, нижняя граница строки станет толще. Ряд вставится выше этой линии (или левее, если это столбцы).
- Чтобы заменить содержимое конечных клеток, сделайте то же самое, но без кнопки Shift.
- Если надо поменять категории местами, просто перетащите их, куда нужно. Например, ряд 23 передвиньте на позицию 25, а 25 — на 23.
- Можно скопировать данные с заменой конечного содержимого. Для этого вместо Shift зажмите Ctrl.
Подобным образом двигаются и столбцы, и строки.
Используйте опцию Копировать-Вырезать-Вставить
Как переместить ячейку или несколько ячеек?
С клетками доступны те же действия, что и с рядами. Вот как в Excel поменять ячейки местами:
- Выделите нужный объект.
- Наведите курсор на его границу.
- Зажмите клавишу Shift.
- Переместите клетку, «зацепив» её за рамку.
- Нижняя граница ячейки, в которую вставится содержимое, будет выделяться.
- Чтобы поменять две соседние клетки местами, передвиньте выбранный объект к рамке, находящейся сбоку.
Чтобы поменять две соседние клетки местами, передвиньте выбранный объект к рамке, находящейся сбоку.
Если вам надо выделить много позиций и передвинуть таким образом часть таблицы, сделайте следующее:
- Перемещайте курсор-клетку Excel с зажатой клавишей Shift. Будет охвачено несколько объектов.
- Или выделите их мышью. Для этого наведите её на нужную позицию, нажмите левую кнопку, передвиньте курсор и отпустите кнопку. Будут отмечены ячейки, захваченные в получившийся прямоугольник.
Диапазон клеток поменять местами с другом диапазоном нельзя. Только переместить. Также невозможно передвинуть вместе несколько объектов, расположенных в разных частях документа.
Как перевернуть таблицу?
В Excel можно транспонировать (перевернуть) таблицу. Так столбцы превратятся в строки. Эта функция доступна в самой программе. Это делается через формулы или при помощи специальной вставки.
Специальная вставка
Вот как в Экселе поменять столбцы на строки и наоборот:
- Выделите фрагмент или всю таблицу.
- Кликните по ней правой кнопкой мыши и выберите «Копировать». Или нажмите Ctrl+C.
- Поставьте клетку-курсор в то место, куда хотите добавить перевёрнутую сетку.
- Найдите на панели инструментов пиктограмму «Вставка». В Excel 2010 она находится в «Меню», в 2007 — на вкладке «Главная». Эта иконка похожа на папку-планшет с маленьким листом бумаги рядом.
- Нажмите на чёрную стрелочку рядом с этой иконкой.
- Откройте «Специальная вставка».
- Этот же пункт можно найти в контекстном меню. Чтобы вызвать его, кликните правой кнопкой мыши.
- В выпавшем списке нажмите на значок «Транспонировать». Чтобы понять, где он, наводите курсор на кнопки. Появятся всплывающие подсказки.
Формулы
Поменять ориентацию таблицы можно и специальной формулой.
- Выделите свободную от значений область, в которую надо вставить перевёрнутую сетку. Она должна соответствовать исходной. К примеру, если в изначальном варианте она имела размеры 3 на 7 клеток, то отмеченные для вставки позиции должны быть 7 на 3.
- В поле формул (она находится вверху, рядом с ней есть символы «Fx») введите «=ТРАНСП(N:H)» без кавычек. N — это адрес первой клетки из таблицы, H — имя последней. Эти названия имеют вид A1, S7 и так далее. Это одновременно и координаты ячейки. Чтобы их посмотреть, кликните на нужную позицию. Они отобразятся в поле слева вверху.
- После того как вписали функцию, одновременно нажмите Shift+Ctrl+Enter. Так она вставится сразу во все выделенные категории.
Поменять ориентацию таблицы можно и специальной формулой
Нужный фрагмент появится уже в перевёрнутом виде.
Перевернуть столбец
В таблицах можно не только поменять местами ряды, но и перевернуть столбцы вниз головой. Например, вам понадобилось перечислить какие-то характеристики в обратном порядке. Ради этого не нужно заново все вбивать. Можно сделать так:
- Вокруг исходной колонкой должно быть свободное место. Не нужно стирать все строки. На время редактирования можете скопировать позиции в другой файл.
- Выделите пустую клетку слева или справа от заполненного ряда.
- Откройте меню Формулы — Ссылки и массивы.
- Найдите функцию «СМЕЩ».
- В появившемся окне будет несколько полей. В области «Ссылка» укажите адрес нижней клетки из колонки. Перед каждой координатой ставьте знак $ (доллар). Должно получиться что-то вроде «$A$17».
- В «Смещ_по_строкам» введите команду «(СТРОКА()-СТРОКА($A$1))*-1» (кавычки убрать). Вместо $А$1 напишите имя первой клетки в колонке.
- В «Смещ_по_столбцам» напишите 0 (ноль). Остальные параметры оставьте пустыми.
- Растяните значения с формулой так, чтобы по высоте они совпадали с исходным рядом. Для этого «потяните» за маленький чёрный квадратик под курсором-клеткой Excel. Категории будут инвертированы относительно исходника.
- Выделите и скопируйте получившиеся позиции.
- Щёлкните правой кнопкой мыши в любом месте сетки.
- В параметрах вставки выберите «Значения». Так перенесутся только символы без формул.
В продуктах Microsoft Office интуитивно-понятный интерфейс. Можно быстро разобраться, как в Экселе поменять местами столбцы, ряды и ячейки. Как отразить их. Также в инструментарии программы доступна транспонировка (переворачивание) таблицы.
Когда мы обрабатываем рабочий лист, нам может потребоваться иногда поменять местами содержимое двух ячеек. Обычно большинство из нас просто знает, как «вырезать, вставить и скопировать» для замены содержимого, но это требует времени. Мы поговорим о том, как быстро поменять местами содержимое ячеек в Excel.
Вручную поменяйте местами содержимое двух соседних ячеек
Поменять местами содержимое двух несмежных ячеек с кодом VBA
Легко поменять местами содержимое двух случайных ячеек всего за несколько кликов
Вручную поменяйте местами содержимое двух соседних ячеек
Иногда необходимо поменять местами две соседние ячейки. Мы легко можем сделать это вручную. Посмотрите на следующий снимок экрана, я хочу поменять местами ячейки A4 и B4, сделайте следующее:
1. Выберите ячейку, которую хотите поменять местами. В этом примере выберите ячейку A4.
2, нажмите Shift и поместите курсор на правую границу.
3. Затем перетащите курсор к правой границе ячейки B4.
4. Когда отображается «工», Отпустите мышь.
5. И два содержимого ячеек поменялись местами. Смотрите скриншот:
С помощью этого метода мы также можем поменять местами две соседние строки или столбцы.
Поменять местами содержимое двух несмежных ячеек с кодом VBA
Когда две ячейки не находятся рядом, описанный выше метод работать не будет. Мы можем поменять их местами с кодом VBA.
1, нажмите Ctrl и выберите две несмежные ячейки, которые вы хотите поменять местами.
2. Нажмите Застройщик>Визуальный Бейсик, Новый Microsoft Visual Basic для приложений появится окно, щелкните Вставить>Модули, и введите следующий код в Модули:
Sub SwapTwoRange()
'Updateby20131120
Dim Rng1 As Range, Rng2 As Range
Dim arr1 As Variant, arr2 As Variant
xTitleId = "KutoolsforExcel"
Set Rng1 = Application.Selection
Set Rng1 = Application.InputBox("Range1:", xTitleId, Rng1.Address, Type:=8)
Set Rng2 = Application.InputBox("Range2:", xTitleId, Type:=8)
Application.ScreenUpdating = False
arr1 = Rng1.Value
arr2 = Rng2.Value
Rng1.Value = arr2
Rng2.Value = arr1
Application.ScreenUpdating = True
End Sub
3. Затем нажмите нажмите кнопку, чтобы запустить код, затем отобразится диалоговое окно, в котором вы можете выбрать две ячейки, между которыми вы хотите переключиться. Смотрите скриншоты:
4. Нажмите Ok во всплывающем диалоговом окне две выбранные ячейки меняются местами. Смотрите скриншоты:
Ноты: Этот код VBA не может поменять местами форматирование двух ячеек.
Легко поменять местами содержимое двух случайных ячеек всего за несколько кликов
Работы С Нами Kutools for Excel‘s Диапазоны обмена Утилита, мы не только можем поменять местами две соседние ячейки, строки или столбцы, но также можем легко переключать две несмежные ячейки, строки или столбцы.
1. Нажмите Кутулс > Диапазон > Диапазоны обмена, см. снимок экрана:
2. в Диапазоны обмена диалоговое окно, вам необходимо:
Затем сразу же меняются местами две выбранные ячейки или диапазоны. Смотрите скриншоты:
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Демонстрация: поменяйте местами два случайных содержимого ячейки с помощью Kutools for Excel
Связанная статья:
- Как поменять местами строки или столбцы в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Перемещение строк в Microsoft Excel
Смотрите также что необходимо сделать областей не совпадают.a1.Value = v областей:bSecond = True столбцах, минимальное кол-во соседних столбцах местами, удалить строки. В ExcelМногих беспокоит вопрос, сохранятся меню «Вставить» или в будущем. В примет форму стрелки, координат. После этогоCtrl+V строке, непосредственно надРаботая в Эксель, иногда это в пределах Продолжить?», _End SubSub SwapAreas2()Set r2 = данных, а как
встроенной функции вродеПолосатый жираф алик
есть возможность осуществить ли данные, формулы пункта «Вставить» панели
Смена положения строк
частности, случаются ситуации, на конце которой действия выделяется весь. которой собираемся поднять можно столкнуться с
Способ 1: процедура копирования
этой ячейки (неvbExclamation + vbYesNoКазанскийDim a1 As rX это сделать чтоб нет, как это: Если данные стоят такую операцию. и вычисления после инструментов «Ячейки» на когда необходимо изменить находятся четыре указателя, ряд. Затем кликаем
- После того, как строка другую строчку. Выполняем необходимостью поменять строки создавая дополнительную), как + vbDefaultButton2) <>: Да, разумеется, Area Range, a2 AsEnd If с выделенными ячейками сделать ?
- в ячейках (например)Для этого скопируйте всю того, как поменяются закладке «Главная». Вам местоположение элементов: столбцов направленные в разные по кнопке вставлена, для завершения щелчок правой кнопкой
- местами. Для этого тут: =ПРАВСИМВ(A4;ДЛСТР(A4)-НАЙТИ(» «;A4))&» vbYes Then Exit может состоять из Range, vNext работалоSerge от D11 до таблицу, выберите новое местами столбцы. В нужен элемент «Вставить или строк. стороны. Зажимаем кнопку«Вырезать» процедуры нужно удалить мышки. Происходит запуск существует несколько проверенных «&ЛЕВСИМВ(A4;НАЙТИ(» «;A4))
- Sub одной ячейки :)If Selection.Areas.Count <>End SubGuest: D104 (94 ячейки). место, где будет Excel при копировании-вставке столбцы на лист».Чтобы в Excel поменять Shift на клавиатуре, которая локализуется на первичный ряд. Кликаем контекстного меню. Выбираем
- способов. Одни изЗаранее спасибо!Case ElseЯ имел в 2 Then MsgBoxNickev: Куда все пропали??Юрий М В любом свободном находиться ее измененный формулы в ячейкахДалее выделите нужную колонку
- местами как столбцы, и просто перетягиваем ленте во вкладке по любой ячейке в нем пункт них выполняют перемещениеЗ.Ы. Officce 2010MsgBox «Число выделенных виду то, что «Число выделенных областей: спасибо! но в
Hugo: Можно простеньким макросом. столбце (например в (транспонированный) вариант и продолжают ссылаться на
Способ 2: процедура вставки
и скопируйте ее. так и строки, ряд на то«Главная» данной строчки правой«Вставить…» буквально в паруКазанский областей не равно вторую ячейку выделения не равно 2.», данном случае он: Если строго в Значения в А1 G) пишем: в для вставки нажмите поля старого диапазона.
- Для этого воспользуйтесь существует несколько способов. место, где хотим,в блоке инструментов кнопкой мыши. В. кликов, а другие: В чем проблема? 2.», vbCritical: Exit нельзя получить как vbCritical: Exit Sub менят только 2. одном ряду, в и В1. G11 =D12, в
- правую клавишу мыши. Соответственно, при удалении кнопкой «Копировать» на Остановимся на перемещении чтобы он располагался.«Буфер обмена» контекстном меню, котороеВ открывшемся небольшом окошке, требуют на эту Формула работает. Ваш Sub
- .Cells(2).Set a1 = А как нужно
одном блоке выделения,Sub Macro1() G12 =D11. Копируем Выберите параметр вставки старого столбца возникнет панели инструментов «Буфер
Способ 3: перемещение мышью
колонок. Выделите графу,Как видим, перемещение производится. Она представлена пиктограммой появится после этого, которое предлагает выбрать, процедуру значительных затрат текст в столбцеEnd SelectВ общем, получается Selection.Areas(1)
- исправить код, чтобы меняем местами крайниеDim x, y эти ДВЕ ячейки «Транспонировать» и нажмите
- ошибка. обмена» закладки «Главная». которую нужно переместить довольно просто и в виде ножниц. выбираем пункт что именно нужно времени. К сожалению, А. Введите этуEnd With так:Set a2 = менять местами области
— модификачия пред.кода:x = Cells(1, и вставляем в кнопку. Аналогичная командаПри вставке вырезанной колонки Еще один метод в другое место, строка становится именноКликом правой кнопки мыши
«Удалить…» вставить, перемещаем переключатель далеко не все формулу в яч.v = a2.ValueSub SwapAreas4() Selection.Areas(2) выделения?Sub Macro1() 1) выделение от G11 есть и в эта процедура проводится – использовать контекстное нажатием на заголовок. на то место, по панели координат. в позицию пользователи знакомы со В4, потом скопируйте
a1.Copy a2.Cells(1)
lumpics.ru
Как в Excel поменять местами столбцы и строки?
Dim a1 AsIf a1.Rows.Count <>КазанскийDim x, yy = Cells(1, до G104. Потом меню «Вставить» панели безболезненно,. Вся содержащаяся меню правого клика Переместите курсор мыши куда пользователь желает выделяем строку, надКак и в случае«Строку»
Перемещение столбца в таблице
всеми этими вариантами, эту ячейку наa1.Value = v Range, a2 As a2.Rows.Count Or a1.Columns.Count: Достаточно сделать заменуx = Cells(Selection.Row, 2) выделяем ячейки от буфера обмена. в перемещенных колонках мыши «Копировать». И, к краю выделенной её установить. Для
которой должна разместиться с добавлением строки,. Щелкаем на кнопку а поэтому иногда весь диапазон вEnd Sub Range, v <> a2.Columns.Count Then «cell» на «area», Selection.Column)Cells(1, 2) = G11 до G104,С помощью приведенной информации информация сохранится, а наконец, просто нажатие области, чтобы он этого нужно всего
Вставка столбцов
ранее вырезанный нами открывается небольшое окошко,«OK» тратят много времени ст. В.КазанскийIf TypeName(Selection) <> _ и оно ужеy = Cells(Selection.Row, x хватаем за любой вы в будущем ссылки в ячейках комбинации Ctrl+C. превратился в значок лишь совершить действие ряд листа. Перейдя которое предлагает выбрать,.
на те процедуры,Если надо обработать: Этот кусок «Range» Then MsgBoxIf MsgBox(«Размеры выделенных работает :) Selection.Column + Selection.Columns.CountCells(1, 1) = край выделенного ПРАВОЙ без труда сможете перенаправляются на новоеЗатем выделите верхнюю ячейку
скрещенных двунаправленных стрелок. мышью. в контекстное меню, что нужно удалить.После этих действий добавляется которые можно было данные «на месте»,Set a1 =
«Выделенный объект не областей не совпадают.Sub SwapAreas() — 1) y кнопкой мыши и изменить расположение записей расположение данных. новой колонки иТеперь, если у васСуществуют несколько способов поменять останавливаем выбор на Переставляем переключатель в
пустой ряд. Теперь бы выполнить гораздо то та же .Cells(1) является диапазоном.», vbCritical: Продолжить?», _Dim bSecond AsCells(Selection.Row, Selection.Column +End Sub тащим на место и колонок в
Зачастую пользователю нужно изменить вставьте скопированные данные версия Excel 2007, строки местами в пункте позицию напротив пункта выделяем ту строчку быстрее другими способами. формула в макросе:For Each a2 Exit SubvbExclamation + vbYesNo
Boolean, rX As Selection.Columns.Count — 1)Hugo ячеек D11:D104. Там программе Excel. порядок расположения записей с помощью правой просто перетащите столбец
Перемещение строк
Эксель. Какой именно«Вставить вырезанные ячейки»«Строку» таблицы, которую желаем Давайте рассмотрим различные Sub bb() With In .CellsWith Selection + vbDefaultButton2) <> Range, r2 As
= x: Если нужно вставить отпускаем и выбираемАвтор: Татьяна Казмирчук в таблице: поднять кнопки мыши, операции на новое место. из предложенных вариантов.. Жмем на кнопку поднять. Причем на возможности поменять строчки Range(«A1», Cells(Rows.Count, «A»).End(xlUp))
Меняем местами столбцы и строки
v = v + 1Select Case .Areas.Count vbYes Then Exit Range, vCells(Selection.Row, Selection.Column) = туда-же назад только из меню «КопироватьВ таблице указано кол-во выше одни, опустить «Вставить» на панели
Если версия вашей применять, зависит отПосле этих действий вырезанная«OK» этот раз выделить местами в Excel. .Value = Evaluate(Replace(«INDEX(RIGHT(~,LEN(~)-FIND(«»If v =Case 1 ‘1 SubIf Selection.Areas.Count <> y значения, можно попытаться
только значения». Всё. на 2-х складах ниже другие. Не буфера обмена или программы 2010 и личных предпочтений пользователя.
строка будет переставлена
fb.ru
Как в Excel-е Содержимое 2-х ячеек поменять местами? В таблице указано кол-во на 2-х складах … (см. пояснение)
. её нужно полностью.Скачать последнюю версию
«»,~))&»» «»&LEFT(~,FIND(«» «»,~)-1),)», 2 Then Exit область
v = a2.Value 2 Then MsgBoxEnd Sub сделать на массивах
Столбец G можно разных деталей. всегда с такой
сочетанием Ctrl+V. выше, перетаскивание нужно Одним удобнее и на указанное место.После этих действий ненужный Жмем на кнопку
Excel «~», .Address)) End ForIf .Cells.Count <>a1.Copy a2.Cells(1) «Число выделенных областейGuest
— берём выделенное удалить или очистить.
Деталей 47 позиций. задачей можно справитьсяПосле того, как поменяли делать с нажатой привычнее по старинкеКак видим, данный способ элемент будет удален.«Копировать»Урок: With End SubNext 2 Then MsgBoxa1.Value = v не равно 2.»,: ДА, да, то, в массив (илиAbram pupkin По ошибке вбили с помощью сортировки. местами столбцы в кнопкой Shift. Таким производить перемещение, выполняя предполагает выполнение меньшего Таким образом, будет, находящуюся во вкладкеКак поменять страницы местами
Susliksможно сократить :)
«Число выделенных ячеекEnd Sub
vbCritical: Exit Sub
что надо, спасибо!!!
массивы), запрашиваем порядок
: Склад1 и Склад2
в верхнюю клетку
И тогда приходится Excel, в нашей образом можно переместить
процедуру копирования и
количества действий, чем
проведена перестановка строк
«Главная»
в Microsoft Word
: Спасибо огромное!For Each a2
не равно 2.»,k61
Как поменять значение соседних ячеек местами
For Each rXКазанский выгрузки, выгружаем. ЭтоПищевые и непищевыеданные 2-го склада, перемещать строки вручную. таблице получилось две
один или несколько последующего удаления рядов,
предыдущий, а значит местами.на инструментальной лентеПоменять строчки местами можно
Через макрос получается
In .Cells
vbCritical: Exit Sub: Получается для двух
In Selection.Areas: Мож кому пригодится.
так предварительно, не продукты
а в нижнююПередвинуть строку или ряд
одинаковых колонки. Старую
столбцов. Если нужно а другие предпочитают с его помощьюКак видим, процедура замены в блоке с помощью нескольких то что мнеIf v ThenSet a1 = ячеек без ForIf bSecond Then Меняет местами любые продумывая пока детали.
Выделяем 1-го. И теперь
строк можно так можно убрать, выделив передвинуть смежные столбцы, более прогрессивные методы. можно сэкономить время.
строк местами тем«Буфер обмена»
вариантов действий. Одни надо Exit For Else
.Cells(1) Each:v = rX две выделенные ячейки, Может что исамокат надо же, как поменять ее и выбрав просто выделите их
Каждый подбирает вариантНо существует и более
способом, который был. Вместо этого действия из них болееTaras222 Set a1 =For Each a2
Sub SwapAreas3()
r2.Copy rX
не обязательно смежные. не сойдётся…
карандашипоменять местами данные местами столбцы в
в меню правой мышью. Для выделения лично под себя,
быстрый вариант перемещения, описан выше, довольно
можно набрать комбинацию
прогрессивны, но алгоритм: Здравствуйте! a2: v =
In .CellsDim a1 Asr2 = vSub SwapCells()repinsa
светильник
в 47 парах Excel. То есть кнопки мыши пункт несмежных колонок воспользуйтесь
но, безусловно, можно чем предыдущий способ. сложная. На её горячих клавиш других интуитивно понятнее.
Подскажите, пожалуйста, как 1
v = v + 1
Range, a2 As
Else
Dim bSecond As
: Юрий М.
сапоги
ячеек. выделением нужных записей
«Удалить» или воспользовавшись
кнопкой Ctrl.
сказать, что самым
Он предполагает перетаскивание выполнение потребуется относительноCtrl+CНаиболее интуитивно понятным способом можно поменят местамиNextIf v = Range, v
bSecond = True Boolean, rX AsЧет оно уи за РЕБРОCarin
и перетаскиванием их
элементом «Удалить столбцыЕще один способ изменения быстрым способом поменять строк при помощи
большое количество времени.. поменять строки местами строки?Susliks
2 Then ExitIf Selection.Areas.Count <>
Set r2 =
Range, r2 As
меня не работает,
перетягиваем на ЛЮБОЕ
: Выделите 1 ый
с зажатой клавишей
с листа» панели порядкового номера графы
строчки местами является
исключительно мыши и
Полбеды, если нужно
Устанавливаем курсор в самую является создание новогоВыделяете строку целиком: Всем привет! For 2 Then MsgBox rX Range, v
как его прикрутить? пустое место
столбик, скопируйте весь,
Shift в нужное «Ячейки». – копирование и
вариант с перетягиванием клавиатуры, но без поменять местами два левую ячейку пустой пустого ряда с
(не диапазон) —Возможно боян, но
Next «Число выделенных областей
End IfIf Selection.Cells.Count <> и чтоб делалоВыделяем
вставьте после 2 место (или безЧтобы избежать удаления колонки
вставка. Перед тем при помощи мышки. использования контекстного меню ряда, но если
строки, которая была
добавлением в него
подводите мышку к
поиск мне не
Case 2 ‘2 не равно 2.»,Next 2 Then MsgBox
с выделенными ячейками?
крем стобца, после удалите Shift в Excel
вместо копирования, примените как поменять местамиАвтор: Максим Тютюшев или инструментов на требуется поменять местами
добавлена ранее, и содержимого другого, с
верхней или нижней помог
области vbCritical: Exit SubEnd Sub
«Число выделенных ячеек
repinsa
сахар
1-ый
2007) или методом вырезания. Выделив столбец, столбцы в Excel,Как и в любой
ленте. десяток или более жмем на кнопку последующим удалением исходника. границе, чтобы получилась
Подскажите, пожалуйста, надоSet a1 =
Set a1 =
Казанский не равно 2.»,: Юрий М.
перецИрина вырезания и вставки. примените команду «Вырезать» определитесь с колонкой,
деятельности, не всегда
Выделяем щелчком левой кнопки
строчек? В этом«Вставить»
Но, как мы крестообразная стрелка (как поменять 2 слова .Areas(1) Selection.Areas(1)
: В случае областей vbCritical: Exit Sub
Извиняюсь, запарился, неквас
: Вставить строку, в
Но иногда задача стоит с панели инструментов куда необходимо их
при работе с
мыши сектор на случае, на помощь
, находящуюся во вкладке позже установим, хотя
для перетаскивания) — в ячейках столбца
Set a2 =Set a2 = даже проще, ихFor Each rX
в ту книгуи перетягиваем на неё переместить данные
сложнее – сделать или контекстного меню поместить. Выделите графу, файлом Excel удается
панели координат той
придет более простой«Главная» этот вариант сам зажимаете Shift на
местами.
.Areas(2)
Selection.Areas(2)
не надо перебирать
In Selection.Cells
макрос поместил.
нужное место одной из строк,
так, чтобы заголовки мыши. Затем отметьте
перед которой будет с первого раза
строки, которую желаем
и быстрый методв группе настроек собой напрашивается, он
клавиатуре — перемещаете
Пример: «Лебедев Павел»
If a1.Rows.Count <>If a1.Count <>
через For Each,If bSecond ThenДа, это то,Самокат-сапоги возвращаем в на освободившееся место
записей стали заголовками
planetaexcel.ru
Поменять слова местами в пределах одной ячейки.
колонку, перед которой размещена вставкаы, и
построить таблицу и переместить. вставки.
«Буфер обмена» далеко не самый строку целиком в нужно получить «Павел
a2.Rows.Count Or a1.Columns.Count a2.Count Then Exit а можно обращатьсяv = rX
что надо, такое родную гавань — вырезать и колонок и наоборот, нужно добавить данные, вставьте пустой столбец. внести данные таким
Перемещаем курсор на верхнюю
Кликаем левой кнопкой мыши
. В качестве альтернативы быстрый и не нужное место — Лебедев» (строк более <> a2.Columns.Count Then Sub непосредственно (с ячейкамиr2.Copy rX простенькое, в основномrepinsa
вставить нужное. проще говоря, поменять и выполните операцию Это можно сделать образом, чтобы это границу этой строки, по номеру строки существует возможность набрать самый простой. отпускаете сначала мышку,
100) _
v = a2.Value так не получается).r2 = v
CyberForum.ru
Поменять местами строки в таблице Excel
придется менять два: Есть необходимость менять
Лишнюю строку после местами столбцы и «Вставить вырезанные ячейки».
с помощью контекстного не потребовало изменений пока он не на вертикальной панели комбинацию клавишВыделяем любую ячейку в затем ShiftВся соль проблемы,If MsgBox(«Размеры выделенныхa1.Copy a2.Cells(1)Добавил проверку размеровElse значения в соседних
CyberForum.ru
значение ячеек в