Найти в Дзене

📌 Как поменять ячейки местами: пример решения

Оглавление

Всем привет! 👋

Сегодня разберем макрос позволяет поменять местами два диапазона ячеек.

Как поменять ячейки местами
Как поменять ячейки местами

📢 Файл с исходным кодом размещен в конце статьи 🔽

-3

▶️ Пример макроса

Напомним, в прошлых обзорах мы рассмотрели:

  • Как поменять столбцы местами

https://dzen.ru/media/excel_easy/-kak-pomeniat-stolbcy-mestami-primer-resheniia-64a22d8f83118a1a42ae2b04

  • Как поменять строки местами

https://dzen.ru/media/excel_easy/-kak-pomeniat-stroki-mestami-primer-resheniia-64a2460644f34412e6e8bc05

Вместо перемещения строк или столбцов, данный код обменивает значения ячеек между выбранными диапазонами, сохраняя их размер и структуру:

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

▶️ Краткое описание

  • Объявление переменных: Range1 и Range2 - переменные типа Range, которые будут использоваться для хранения ссылок на выбранные диапазоны ячеек. r - переменная типа Variant, используемая для временного хранения значений ячеек при обмене.
  • Проверка количества выбранных областей: Проверяется, что пользователь выбрал ровно две области.Если количество выбранных областей отличается от двух, выводится сообщение об ошибке, указывающее на необходимость выбрать два диапазона.
  • Проверка размеров выбранных диапазонов: Проверяется, что оба выбранных диапазона имеют одинаковое количество столбцов и строк.
    Если размеры диапазонов не совпадают, выводится сообщение об ошибке, указывающее на необходимость выбрать два диапазона одинакового размера.
  • Настройка приложения Excel: Приложение Excel переводится в ручной режим расчета формул, чтобы избежать ненужных вычислений при обмене ячейками. Включается обновление экрана, чтобы изменения были видны пользователю. Включается отображение сообщений и предупреждений для информирования пользователя о возможных проблемах.
  • Обмен значениями ячеек: Значения ячеек из первого выбранного диапазона сохраняются во временной переменной r.
    Значения ячеек из второго выбранного диапазона копируются в первый выбранный диапазон.
    Значения из временной переменной
    r присваиваются ячейкам второго выбранного диапазона.
  • Восстановление настроек приложения Excel: Перевод приложения Excel обратно в автоматический режим расчета формул.
    Включение обновления экрана и отображения сообщений и предупреждений.
  • Обработка ошибок: Если возникает ошибка при выполнении кода, она перехватывается и обрабатывается.
    Если возникла ошибка с кодом 1004, показывается сообщение об ошибке с описанием ошибки.

▶️ Тестируем результат

🔔 Для удобства использования поместим макрос на ленту:

-5
  • Исходные данные:
-6
  • поменяем местами ячейку1 и ячейку10:
-7

🔔 Перед использованием убедитесь, что выбранные диапазоны ячеек имеют одинаковое количество столбцов и строк.

-8
Наша команда очень заинтересована в создании качественного и полезного контента. Поэтому, если Вам понравился этот урок, не забудьте поблагодарить автора лайком 👍. Если у Вас есть вопросы или своё решение, не стесняйтесь оставить комментарий 💬. Нужно решение для другой проблемы? Пожалуйста, напишите свой вопрос в комментариях 💬, и мы обязательно рассмотрим его в ближайшей теме обзора. Мы ценим Вашу обратную связь 💝, так как это помогает нам оценить, насколько данный материал был полезен для Вас
Наша команда очень заинтересована в создании качественного и полезного контента. Поэтому, если Вам понравился этот урок, не забудьте поблагодарить автора лайком 👍. Если у Вас есть вопросы или своё решение, не стесняйтесь оставить комментарий 💬. Нужно решение для другой проблемы? Пожалуйста, напишите свой вопрос в комментариях 💬, и мы обязательно рассмотрим его в ближайшей теме обзора. Мы ценим Вашу обратную связь 💝, так как это помогает нам оценить, насколько данный материал был полезен для Вас

СКАЧАТЬ ПРИМЕР