Найти в Дзене

📌 Как поменять столбцы местами: пример решения

Оглавление

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

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

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

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

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

-3

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

  • вынести кнопку макроса на панель быстрого доступа 🔽
  • создать свою вкладку 🔽
-4

см. пример решения:

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

Использование данного кода позволяет легко и эффективно поменять местами два столбца в Excel, экономя время и упрощая процесс обработки данных.

Представленный код позволяет поменять местами столбцы в Excel
Представленный код позволяет поменять местами столбцы в Excel

▶️ Описание кода

  • Объявление переменных: Columns1, Columns2, ColumnsEnd: переменные типа Range для хранения ссылок на столбцы, которые будут меняться местами.
  • Обработка ошибок: При возникновении ошибки, программа переходит к метке InterchangeColumns_Error, где выводится сообщение об ошибке.
  • Проверка выбранного диапазона: Код сначала проверяет, является ли выбранный диапазон действительным (тип данных Range).
    Затем проверяется количество выбранных областей (должно быть ровно 2). Проверяется, что оба выбранных диапазона содержат полное количество строк в таблице.
  • Настройка приложения: Перед выполнением операции меняем местами, отключается автоматическое обновление расчетов (xlCalculationManual), обновление экрана (ScreenUpdating) и отображение предупреждений (DisplayAlerts).
  • Определение порядка столбцов: Если первый выбранный столбец находится правее второго, меняем порядок столбцов местами, чтобы код работал корректно.
  • Определение столбцов для обмена: Устанавливаем переменные Columns1 и Columns2 для хранения ссылок на выбранные столбцы.
  • Подготовка столбца для вставки:С помощью переменной ColumnsEnd определяем столбец, следующий за вторым выбранным столбцом.
  • Обмен местами столбцов: Вырезаем второй столбец (Columns2) и вставляем его перед первым столбцом (Columns1).
    Вырезаем первый столбец и вставляем его перед столбцом, следующим за вторым столбцом (
    ColumnsEnd).
    Выделяем обновленные столбцы с помощью метода
    Range и Select.
  • Восстановление настроек приложения: Включаем автоматический расчет (xlCalculationAutomatic), обновление экрана и отображение предупреждений. Отключаем обработку ошибок (On Error GoTo 0).
  • Завершение макроса: Если происходит ошибка с кодом 1004, выводится сообщение об ошибке с описанием.

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

  • Исходные данные:
-6
  • Поменяем местами Столбец1 и Столбец3:
-7

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

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

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