Содержание
- Перемещение ячеек
- Способ 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 и работают в разных версиях табличного процессора. Что касается макросов, то использование данной методики довольно сложное, очень важно ничего не перепутать, иначе велик риск совершить ошибку и вовсе отформатировать всю страницу без возврата данных, поэтому при переносе ячеек рекомендуется быть предельно внимательными.
Оцените качество статьи. Нам важно ваше мнение:
При работе с данными в 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 интуитивно-понятный интерфейс. Можно быстро разобраться, как в Экселе поменять местами столбцы, ряды и ячейки. Как отразить их. Также в инструментарии программы доступна транспонировка (переворачивание) таблицы.
Перемещение столбцов в Microsoft Excel
Смотрите такжеМихаил С.: Михаил С. Ваня Лункин ЯшаПравда я не тут: =ПРАВСИМВ(A4;ДЛСТР(A4)-НАЙТИ(» «;A4))&».Item(«SwapRanges»).Delete»Microsoft Visual BasicSet tmpRng1 = макроса нужно поместить в
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub SwapRanges() Excel».
Перемещение столбцов
Копируем эту формулупри перемещении зажимать выше, выделяем столбец,.При работе с таблицами
Способ 1: копирование
: И где конечныйВася Пупкин Ваняесли возможно понимаю как, но
- «&ЛЕВСИМВ(A4;НАЙТИ(» «;A4))With .Add(Type:=msoControlButton, before:=1)Run-time error ‘1004’: Range(Cells(.Row, .Column), Cells(.Row’ Topic_URL: http://www.planetaexcel.ru/forum.php?thread_id=15210 модуль в Personal.xlsDim ra AsВ большой таблице
- вдоль строки. Получилось не нужно. слева от которогоЛевой кнопкой мыши выделяем иногда возникает потребность результат? Нупкин Яша ЛункинКазанский
- работает! =)Заранее спасибо!.Caption = «SwapRanges»Method ‘OnKey’ of + .Rows.Count -’ Post_Author: Alex_ST или в другую Range: Set ra Excel можно удалить так.Как видим, существует несколько
- нужно будет переместить столбец, который до поменять столбцы, расположенныеЗы. из такогоПупкин Вася Нупкин: UDF. Попробуйте сGuestЗ.Ы. Officce 2010.OnAction = «SwapRanges»
- object ‘.Application’ failed» 1, .Column))’ 1-й’ Post_URL: http://www.planetaexcel.ru/forum.php?thread_id=15210 книгу из автозагружаемых, = Selection сразу много лишнихЕсли скопируем эти способов поменять столбцы колонку, вырезанную нами этого создали. В
в ней, местами. примера возникает ощущение
Способ 2: вставка
Ваня Лункин Яша разным числом слов,: =ПСТР(A1&» «&A1;1+ПОИСК(» «;A1);ДЛСТР(A1))
- Казанский.FaceId = 203Подскажите, пожалуйста, как столбец’ DateTime: 13.04.10,
- плюс сделать исполнениеmsg1 = «Надо пустых строк. Специальной формулы в строке, местами. Есть как ранее. Кликаем правой контекстном меню в Давайте разберемся, как бессмысленной работы.т.е. 1 слово в т.ч. нечетным.слэн: В чем проблема?End With от него избавится?Set tmpRng2 =
- 16:33 при загрузке кода выделить ДВА диапазона функции нет, но вниз по столбцам, довольно трудоёмкие, но кнопкой мыши. В блоке это сделать вКазанский со словом 2,Function ФЯ(txt As
: классно :) Формула работает. ВашEnd WithKuklP tmpRng1.Offset(0, 1)’ 2-й’ Purpose: обменять типа этого: ячеек одинакового размера»
Способ 3: продвинутый вариант перемещения
можно воспользоваться другой то можно перевернуть в то же
- контекстном меню останавливаем«Параметры вставки»
- приложении Microsoft Excel: > но с 3 слово со String) As StringФЯ текст в столбцеOn Error GoTo: А в каком столбец правее на
- ТЕКСТ двух выделенных200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Inic()msg2 = «Надо функцией и применить всю таблицу, все время универсальные варианты выбор на пунктевыбираем значение без потери данных,
макросами как то словом 4, 5
Dim s$(), i&: Дорогие гуру! А. Введите эту 0 коде из этой 1 диапазонов или областей
With Application.CommandBars(«Cell»).Controls.Add(Type:=msoControlButton, before:=1) выделить 2 диапазона небольшую хитрость. Как строки. Получится так. действий, так и«Вставить вырезанные ячейки»«Вставить» но, при этом, редко работал и слово со словомs = Split(txt)
А можете подсказать
lumpics.ru
Как поменять местами столбцы в Excel.
формулу в яч.End Sub темы Вы виделиElse: Exit Sub’ Notes:.Caption = «SwapRanges» ячеек ОДИНАКОВОГО размера» это сделать, смотритеВторой вариант. более продвинутые, которые,.
. как можно проще с ними не 6 менялись местамиFor i = формулу что то В4, потом скопируйтеWasilich Method ‘OnKey’?End If’—————————————————————————————
.OnAction = «SwapRanges»
If ra.Areas.Count <>
в статье «КакВ ячейке А2
правда, не всегдаПосле этого действия элементыПосле того, как диапазон и быстрее. дружу.. … 1 To UBound(s)
на подобе этого
эту ячейку на: У меня тожAlex_ST
Case 2′ выделеноIf Not TypeName(Selection).FaceId = 203 2 Then MsgBox удалить пустые строки пишем такую формулу.
работают на старых
переместятся так, как вставлен в нужное
Скачать последнюю версию
Вот так это
Михаил С. Step 2
же только надо весь диапазон в примерчик завалялся. Мож
: 2 области = «Range» ThenEnd With msg1, vbCritical, «Ошибка»:
в Excel».
=ИНДЕКС(1:1;;ЧИСЛСТОЛБ($A$1:$E$1)) версиях Excel. вы этого хотели.
место, нам необходимо
Excel выглядит в вашем
: если слов ВСЕГДА
ФЯ = ФЯ поменять 3 слова, ст. В.
пригодится.slavaleksIf .Areas(1).Columns.Count = Exit SubEnd Sub
Exit SubSerge_007В формуле:Автор: Максим Тютюшев При необходимости, таким удалить исходную колонку.В Экселе колонки можно файле. ИМХО ничего шесть и нет
& » «тоесть в однойЕсли надо обработатьslavaleks, в этом посте .Areas(2).Columns.Count And _Dim tmpVar1, tmpVar2Т.е. при загрузкеIf ra.Areas(1).Count <>: В Excel нет1:1 — этоЧтобы
excel-office.ru
Поменять местами данные
же образом можно Правой кнопкой мыши поменять несколькими способами, сложного. знаков препинания, и & s(i) & ечейке А1 типа данные «на месте»,
: Alex_ST, Всё работает съехал текст кода..Areas(1).Rows.Count = .Areas(2).Rows.CountDim tmpRng1 As и выгрузки такие ra.Areas(2).Count Then MsgBox встроенных средств обоюдного диапазон всей строки;в таблице Excel перевернуть
перемещать группы колонок,
кликаем по её как довольно трудоёмкими,ФЯ
нужно поменять попарно
» » & товары : то та же супер, за что,Вы подправили у Then’ одинаковая размерность Range, tmpRng2 As коды (обеспечение менюшки): msg2, vbCritical, «Ошибка»:
переноса данных (например
$A$1:$E$1 — это
строку слева на
выделяя для этого
заголовку. В контекстном
так и более: Казанский, - то можно
s(i - 1)Вася Пупкин Вася формула в макросе:
премного благодарен! себя? Если нет, областей
RangeКод200?'200px':''+(this.scrollHeight+5)+'px');">Private Sub Workbook_BeforeClose(Cancel Exit Sub поменять местами значения
диапазон строки в право соответствующий диапазон. меню выбираем пункт
прогрессивными.
Благодарю, за помощь,
одной формулой.
Next
Пупкин Вася Пупкин
Sub bb() WithВот ещё дилетантский подождите пока Игорь
Set tmpRng1 =With Selection As Boolean)
Application.ScreenUpdating = False
А1 и В1 нашей таблице., перенести данные изСуществует также более простой
«Удалить»Данный способ универсальный, так начинают нравится работа
ФЯIf i =поменять местами в Range(«A1», Cells(Rows.Count, «A»).End(xlUp)) вопрос остался. Это не исправит. Я .Areas(1): Set tmpRng2
’With Intersect(Selection, Selection.Parent.UsedRange)On Error Resumearr2 = ra.Areas(2).Value
одним кликом). КакВ ячейке В2 последних ячеек в и продвинутый способ. как подходит даже с макросами благодаря: слов не всегда
UBound(s) + 1
В1 3 раза
.Value = Evaluate(Replace("INDEX(RIGHT(~,LEN(~)-FIND(""
нормально, что при
ему в личку
= .Areas(2)
Select Case .Areas.Count
Nextra.Areas(2).Value = ra.Areas(1).Value это реализовать макросом?
пишем такую же первые,
перемещения.На этом перемещение элементов
для очень старых
Вам.
шесть, и бываю
Then ФЯ = или 3 слова
«»,~))&»» «»&LEFT(~,FIND(«» «»,~)-1),)»,
выполнении любого макроса просьбу об этом
End If
Case 1′ выделена
Application.CommandBars(«Cell»).Controls.Item(«SwapRanges»).Deletera.Areas(1).Value = arr2Как это должно работать формулу, но добавляемперевернуть таблицу в ExcelВыделяем столбец, который хотим
будет завершено. версий Excel.Можно у Вас знаки но редко
ФЯ & "
чтоб вышло так:
"~", .Address)) End
у меня не
кинул.Case Else: Exit 1 областьEnd Sub
End Sub
(один из вариантов):
«-СТОЛБЕЦ (А1)». Получилась
по горизонтали, переместить.
Впрочем, существует и болееКликаем по любой ячейке еще спросить ,
знаки припинания.
" & s(i
Пупкин Вася Пупкин With End Sub работает "Шаг назад"
Отображение кода
SubIf .Count =Private Sub Workbook_Open()
А вот пример
Выделяю с нажатым
такая формула.
нужно использовать функцииПеремещаем курсор на границу
простой вариант перемещения столбца, слева от как сделать так
Z - 1) Вася Пупкин Вася
Susliks Ctrl+Z?HugoEnd Select 2 Then' выделено
On Error Resume файла с макросом: Ctrl два диапазона=ИНДЕКС(1:1;;ЧИСЛСТОЛБ($A$1:$E$1)-СТОЛБЕЦ(A1)) Excel.
выделенной области. Одновременно в Экселе. которого мы планируем чтобы не все
: Повторение - матьФЯ = Mid$(ФЯ,Заранее благодарен если: Спасибо огромное!Serge_007
починил.End With 2 ячейки Next http://excelvba.ru/XL_Files/Sample__11-08-2010__16-45-29.zip
- ПКМ -Копируем эту формулуНапример, есть таблица зажимаем
Кликаем по горизонтальной панели
перенести другую колонку.
менялось если длинное учения, у вас
2) это возможно!!!
Через макрос получается: НормальноAlex_ST
Application.ScreenUpdating = False:Set tmpRng1 =Application.CommandBars("Cell").Controls.Item("SwapRanges").Delete
(запуск макроса нажатием
Поменять местами. Теперь по строке. Получилась
с большим списком
Shift
координат с буквой, В контекстном списке
предложение, а только незачет по Правилам
End FunctionShAM
то что мнеmixanic
: Ну, пока делать
Application.EnableEvents = False .Cells(1): Set tmpRng2
On Error GoTo Ctrl + Shift
содержимое ячейки А1
такая таблица. с фамилией вна клавиатуре и обозначающей адрес для
выбираем пункт 6 слов первых, — см. скрин…ФЯ
: Если «Вася Пупкин»
надо
: Подскажите, как сделать было нечего я
tmpVar1 = tmpRng1: = .Cells(2)
0 + S) находится в В1Третий вариант. первом столбце, а
левую кнопку мыши. того, чтобы выделить«Вставить…» если это возможно… -92988- Прикрепленные
: Спасибо Казанский за повторяется 3 разаpsycho чтобы формулы тоже сам поправил и tmpVar2 = tmpRng2ElseIf .Rows.Count =
Inic============================================================== и наоборот.
Пишем такую формулу имя написано во Передвигаем мышь в весь столбец..Казанский файлы post_343399.jpg (41 вариант , (а не, например,
: Добрый день, уважаемы переносились !? чуть сократил то,tmpRng1.Value = tmpVar2: 2 And .Columns.CountEnd Sub
Добавлю от себяСпасибо.
в первой ячейке.
втором столбце. Нам
сторону места, куда
Кликаем по выделенной областиПоявляется небольшое окошко. Выбираем
: Всего лишь параметр
КБ)
но с макросами
"Вася Пупкин Ваня
знатоки excell!
Susliks
что исказилось в
tmpRng2.Value = tmpVar1
> 2 Then'Можно вероятно эти
- переносятся только
Hugo=ИНДЕКС($A6:$J6;;СЧЁТЗ($A6:$J6)-СТОЛБЕЦ()+1) нужно переделать список, нужно переместить колонку.
правой кнопкой мыши в нём значение дописать :)Михаил С.
как то редко Нупкин Яша Лункин»),Подскажите, пожалуйста, каким: Всем привет! постеApplication.EnableEvents = True: выделен горизонтальный диапазон
коды совместить, но значения, формулы затираются,
: Из закромовКопируем эту формулу чтобы имя былоВо время перемещения характерная
excelworld.ru
Поменять слова местами в пределах одной ячейки.
и в открывшемся«Столбец»
s = Split(txt,: Одна формула с работал и с
то формула от образом можно поменятьВозможно боян, ноHugo
Application.ScreenUpdating = True в 2 строки у меня так форматирование остаётся старым.
: по всей строке. написано в первом линия между столбцами меню останавливаем выбор. Кликаем по элементу , 7)
этим делом не
ними не дружу..
19.11.2010, 13:31 выполняет местами слова в поиск мне не.End SubSet tmpRng1 = работает, правда задачуSerge_007============================================================== Получилось.
столбце, а фамилия показывает, куда будет на пункте«OK»Как в экселе 2007 справится.мне б вариат то, что вы ячейке? помог
ВSerge_007
Range(Cells(.Row, .Column), Cells(.Row, другую в итоге: Игорь, спасибо, это
CyberForum.ru
Как поменять местами слова в ячейке
Стоит задача сВсе формулы в во втором.
вставлен выделенный объект.«Вырезать», после чего новая поменять строки местами?
И в любом
из формулы кто хотите.
Пример:Подскажите, пожалуйста, надомодуле ЭтаКнига
: Не видел, спасибо.
.Column + .Columns.Count выполняет. то что нужно.
помощью макроса в строке можно скопировать
Есть несколько вариантов.
После того, как. Вместо этого, можно колонка в таблице
В данном примере, случае нужен пример
нибудь подсказал бы…ФЯ
в ячейке А1 поменять 2 слова
должно быть прописаноslavaleks — 1))’ 1-яAlex_STТолько всё-таки просьба
Excel поменять местами на другие строкиПервый выриант.
линия окажется в нажать на значок
будет добавлена. как строку 4 с различными вариантамибуду очень признателен
: Нет эта Формула текст «Вася Пупкин»
в ячейках столбца так
: Hugo, строка диапазона: Я на Планете повестить код на выделенные ячейки (ну и развернуть таблицуУ нас такая нужном месте, следует с точно такимДелаем клик правой кнопкой
поставить на место, — не мне
Михаил С.
=ПСТР(A1&» «&A1;1+ПОИСК(» «;A1);ДЛСТР(A1))
нужно сделать - местами.200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub Workbook_BeforeClose(Cancel As
======================================================================Set tmpRng2 = уже выкладывал такое
ПКМ, а не
или выделенные строки/столбцы), в Excel.
строка.
просто отпустить кнопку же наименованием, который мыши по панели сохранив логику.
же за Вас: Давайте Ваш пример
просто смещает
в ячейке В1
Пример: «Лебедев Павел» Boolean)Спасибо за очень
tmpRng1.Offset(1, 0)’ 2-я решение: на сочетание клавиш. при этом ячейки(илиМожно в Excel
Нам нужно, чтобы
мыши. находится на ленте координат в месте,Леонид гуревич их выдумывать. (что есть -
ориг. Вася Пупкин текст «Пупкин Вася»
нужно получить «Павел
On Error Resume нужный макрос - строка ниже на
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Selection_eXchange() Плюс работать это строки/столбцы) не являются поменять местами строки
в строке былоПосле этого нужные колонки во вкладке
где указано наименование
: Вставить пустую строку,ФЯ что надо), но, Ваня Нупкин ЯшаЗаранее благодарю! Лебедев» (строк более Next это то что 1
’————————————————————————————— должно в любой
смежными, а - и столбцы, т.е.
написано : Пт, поменяются местами.
«Главная» того столбца, который а затем мышечкой:: 1 слово со имхо, — формулами ЛункинGIG_ant
100)Application.CommandBars(«Cell»).Controls.Item(«SwapRanges»).Delete я искал!ElseIf .Columns.Count =’ Procedure: Selection_eXchange книге… произвольно выбранными пользователем.
развернуть таблицу. Подробнее Чт, Ср, Вт,Внимание! Если вы используетев блоке инструментов мы хотим переместить.
вырезать — вставить словом 2, 3 это дело сложно…результат Пупкин Ваня: За вами неВся соль проблемы,End SubОдна ,блин, незадачка
2 And .Rows.Count’ Author: Alex_STHugoEducatedFool
об этим, читайте Пн. В ячейке старую версию Excel«Буфер обмена» В контекстном менюПидар в рот ебись
слово со словом Скорее всего придется Нупкин Яша Лункин угонишся ) что необходимо сделатьPrivate Sub Workbook_Open() — при смене
> 2 Then’’ Topic_HEADER :: Это можно, но
VBA Developer в статье «Как А2 пишем такую
(2007 и ранее),. останавливаем выбор на: тупо переташи мышкой 4, 5 слово использовать несколько доп.
ВасяGuest это в пределахOn Error Resume
раскладки клавиатуры постоянно выделен вертикальный диапазон
Поменять указанные столбцы сложнее.——————————————————————————— поменять местами столбцы
формулу. то клавишуТочно таким же образом, пунктеEmin zeynalov со словом 6 ячеек.а хотелось бы
: Спасибо огромное! этой ячейки (не Next
выскакивает окно: в 2 столбца
planetaexcel.ru
Как в экселе 2007 поменять строки местами?
местами с помощьюТогда весь код
Вот вам макрос: и строки в=СМЕЩ($F1;;-СТОЛБЕЦ())Shift
как было указано«Копировать»: с помощью мышки менялись местами
ФЯПупкин Вася Нупкин
Работает! создавая дополнительную), как
With Application.CommandBars(«Cell»).Controls