Excel поменять строки местами
Excel поменять строки местами
Добрый день, уважаемые читатели! Наболевший вопрос, который откладывал долгое время. Сразу оговорюсь — о транспортировании (замены столбца на строку и наоборот) мы поговорим в следующих статьях.
Сегодня речь пойдёт о замене значений двух строк/столбцов, то есть нам нужно просто поменять местами столбцы или строки в таблице Excel. Что мы для этого обычно делаем:
- Выделяем строку/столбец, которые будем переносить;
- Даём команду "Вырезать";
- Выделяем место где должны быть строки/столбцы;
- Даём команду "Вставить".
Также можно просто перетаскивать за рамку выделения нужные нам диапазоны.
Но бывают случаи, когда в наличии имеется большая таблица, в которой нужно поменять местами значения, но места под новые столбцы/строки взять негде. Не будем рассматривать вариант вставки новой строки/столбца, он может нарушить выверенную структуру и формулы. Что же тогда делать? Попробуем решить данную проблему с помощью макроса.
Для замены необходимо соблюдение двух условий:
1) диапазон ячеек ОБЯЗАТЕЛЬНО должен быть одинаковой величины;
2) ОБЯЗАТЕЛЬНО должны быть выделены два диапазона ячеек.
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
- ra — это область выделения;
- msg1 и msg2 — сообщение о соответствующих ошибках;
- If ra.Areas.Count <> 2 — условие выделения двух диапазонов;
- If ra.Areas(1).Count <> ra — условие выделения одинаковых по длине диапазонов ячеек;
- Application.ScreenUpdating — экране не обновится если не выполнены два условия;
- остальное показывает, что диапазоны будут заменены друг на друга.
Добавим новый модуль к нашей книге. Вкладка "Разработчик", кнопка "Visual basic", далее "Insert" и "Module".
Теперь проверим правильность работы макроса. Выделим с помощью клавиши Ctrl два одинаковых диапазона ячеек (это может быть строка, столбец, просто ячейка). Воспользуемся сочетанием клавиш Alt+F8, чтобы вызвать диалоговое окно "Макросы" или перейдём на вкладку "Разработчик" и нажмём одноимённую кнопку. Появится список макросов, нажимаем кнопку "Выполнить" и наблюдаем результат.
Видим, макрос работает!
Если остались вопросы — посмотрите наше новое видео!
Вас может заинтересовать на урок — Удаление пустых ячеек.
Как быстро поменять строки местами в Excel
Описание задачи
Чтобы поменять строки местами в Excel необходимо выполнить три действия: вставить пустую строку, скопировать в неё данные второй строки, и удалить лишнюю строку. Это достаточно не удобно, особенно когда необходимо поменять местами большое количество строк.
Программа выполняет эти действия в одно нажатие. Причем можно менять не только две строки, но и любые две области строк.
Решение
- Выберите две области строк
- Перейдите на вкладку VBA-Excel
- Выберите команду Поменять местами строки
Если вы хотите поменять аналогичным образом столбцы, смотрите эту статью Как поменять местами столбцы