Вставить столбец Vba Excel

Обновлено: 04.07.2024

Когда мы автоматизируем любую задачу, нам может потребоваться вставить столбцы между другими столбцами или слева/справа от столбца с помощью Excel VBA.

Например, мы можем создать отчет об эффективности сотрудников на основе их пребывания в организации. Первый столбец будет «Идентификатор сотрудника», а последний столбец будет «Срок пребывания в должности (в месяцах)». Между этими двумя столбцами мне нужна производительность сотрудников за каждый месяц. Мы можем автоматизировать это, и нам нужно добавить количество столбцов между этими двумя существующими столбцами в зависимости от срока пребывания конкретного сотрудника. Так как один сотрудник может работать за последние 2 года, то какой-то один договор аренды может быть заключен 2 месяца назад.

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

Вставка столбцов в Excel — решение(я):

Метод EntireColumn.Insert можно использовать для вставки столбца на лист с помощью Excel VBA.

Вставка столбцов в рабочий лист с помощью Excel VBA — пример

В следующем примере показано, как вставлять столбцы в рабочие листы Excel. В этом примере я вставляю столбец в B и вставляю несколько столбцов в C и D.

Инструкции:
  1. Открыть книгу Excel
  2. Нажмите клавиши ALT + F11, чтобы открыть редактор VBA.
  3. Вставить модуль для меню "Вставка"
  4. Скопируйте приведенный выше код и вставьте его в окно кода.
  5. Сохранить файл как книгу с поддержкой макросов
  6. Нажмите F5, чтобы запустить его.
Ввод:

вставка столбцов в Excel Примеры VBA1

Ниже показан снимок экрана рабочего листа перед запуском этого кода.

Вывод:

Ниже показан снимок экрана рабочего листа после выполнения этого кода.

вставка столбцов в Excel VBA, пример 2

Вставка столбцов в рабочий лист с помощью Excel VBA — пример

Как обсуждалось выше, это простой пример создания отчета о производительности сотрудников с использованием Excel VBA на основе их срока пребывания в должности. В этом примере будет вставлено количество столбцов на основе срока владения в месяцах.

Инструкции:

Загрузите пример рабочей тетради и нажмите кнопку «Создать отчет о производительности сотрудников». Он создаст новую книгу и рабочие листы в качестве отчета для каждого сотрудника.

Вставка столбцов с помощью Excel VBA

Скачать — пример файла

Вы можете загрузить и изучить использование вставки столбцов с помощью Excel vba.
ANALYSISTABS — вставка столбцов

В этом руководстве мы рассмотрим, как вставить столбец с помощью кода VBA в Excel. Мы также рассмотрим различные способы написания макроса для этого.

Вставьте один столбец с помощью VBA

Чтобы вставить столбец с помощью кода VBA, необходимо использовать свойство «Весь столбец» с методом «Вставить». С помощью свойства всего столбца вы можете ссылаться на весь столбец, используя ячейку, а затем вставлять новый столбец. По умолчанию он вставит столбец перед ячейкой, которую вы упомянули.


  1. Сначала укажите ячейку с помощью объекта диапазона.
  2. Теперь введите точку (.), чтобы получить список свойств и методов.
  3. После этого выберите свойство «Весь столбец» или введите его.
  4. В конце снова введите точку (.) и выберите метод «Вставить» или введите его.

Ваш код готов для вставки столбца. Теперь, когда вы запустите этот код, он мгновенно вставит новый столбец перед столбцом A.

Вставить несколько столбцов

Я нашел два способа вставки нескольких столбцов на лист. Первый — это тот же метод вставки, который мы использовали в приведенном выше примере. При этом вам нужно указать диапазон столбцов, количество которых равно количеству столбца, который вы хотите вставить.

Теперь предположим, что вы хотите вставить 5 столбцов после столбца C, если вы можете использовать следующий код.


Диапазон("C:G").EntireColumn.Insert

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

При запуске этого кода вам будет предложено ввести количество столбцов, которые вы хотите добавить, а затем номер столбца, в который вы хотите добавить все эти новые столбцы. Он использует FOR LOOP (For Next) для ввода количества столбцов, которые вы упомянули.

Вставка столбцов на основе значений ячеек

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

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

Вставить столбец без форматирования

Когда вы вставляете столбец, в котором указанный выше столбец имеет определенное форматирование, в этом случае столбец также будет иметь это форматирование автоматически. И самый простой способ справиться с этим — использовать четкие форматы. Рассмотрим следующий код.

Когда вы запускаете приведенный выше код, он вставляет новый столбец перед седьмым столбцом. Теперь, что происходит, когда вы вставляете столбец перед 7-м столбцом, этот новый столбец становится 7-м столбцом, а затем вторая строка кода очищает его форматы.

Вставить скопированный столбец

Тем же способом можно скопировать столбец, а затем вставить его в другое место. См. следующий код.

 Вставить столбец VBA

В Excel, если мы хотим вставить столбец, есть несколько способов сделать это. Мы можем щелкнуть правой кнопкой мыши и выбрать «Вставить столбец» из раскрывающегося списка меню или с помощью комбинации клавиш Ctrl + Shift + Plus (+). Но что, если мы автоматизируем и этот процесс, создав макрос через VBA? Это очень полезно, когда мы работаем над созданием макроса с огромной структурой кода или добавлением столбца или нескольких столбцов, что также является задачей для выполнения. В VBA есть столбец целиком, а функция Insert используется для вставки нового столбца.

Как вставить столбец в Excel VBA?

Мы узнаем, как вставить столбец в Excel, используя код VBA, на нескольких примерах.

Оценка, Hadoop, Excel, мобильные приложения, веб-разработка и многое другое.

У нас есть таблица из 2 столбцов и 11 строк, как показано ниже. Теперь мы автоматизируем процесс вставки столбцов разными способами.

Для этого выполните следующие действия:

Шаг 1. Сначала вставьте новый модуль в VBA с помощью пункта меню «Вставка», как показано ниже.

Вставка модуля VBA

Шаг 2. Теперь создайте подкатегорию с именем выполняемой функции, например VBA Insert Column, или с любым другим именем, как показано ниже.

Код:

Шаг 3. Сначала выберите диапазон ячеек или полные столбцы, в которые мы хотим вставить столбец, а затем команду «Вставить», как показано ниже. Команда «Вставить» позволяет вставить любую строку, столбец или ячейку в выбранный столбец или ячейку диапазона.

Код:

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

Все в одном пакете Excel VBA (более 120 курсов) Более 120 онлайн-курсов | 500+ часов | Поддающиеся проверке сертификаты | Пожизненный доступ
4,9 (2356 оценок)

Код:

Шаг 5: Как указано в объяснении, мы будем использовать весь столбец с функцией Insert, как показано ниже. Это позволит вставить столбец.

Код:

 Пример вставки столбца 1.3

Шаг 6. Теперь скомпилируйте код, нажав функциональную клавишу F8, а затем нажмите кнопку «Воспроизвести», чтобы запустить полный код, который находится под строкой меню, как показано ниже. Мы заметим, что между столбцом1 и столбцом2 будут вставлены два новых пустых столбца, как показано ниже.

Есть еще один способ вставки столбца. Этот метод включает в себя комбинацию различных команд.

Шаг 1. Вставьте новый модуль из меню "Вставка".

Модуль VBA вставляется шириной 2

Шаг 2. Напишите подкатегорию в названии выполняемой функции, как показано ниже, или в любом другом имени.

Код:

Шаг 3: С помощью переменной измерения DIM с любым алфавитом или именем определите его как диапазон, скажем, столбец, как показано ниже.

Код:

Шаг 4. Теперь следуя за диапазоном, используйте функцию Set с определенным столбцом измерения, как показано ниже, за которым следует знак равенства («=»).

Код:

Установить столбец

Шаг 5. Теперь используйте функцию приложения, встроенную в VBA, с определенным диапазоном полного столбца B.

Код:

 Область применения

Шаг 6. Теперь используйте переменную столбца с функцией вставки, как показано ниже.

Код:

 Диапазон применения 2

Шаг 7: Мы можем сдвинуть, чтобы вставить столбец вправо или влево с помощью команды Shift. Обычно столбец всегда вставляется вправо из выбранной ячейки или столбца.

Код:

 Сдвиг вправо

Шаг 8. Наконец, выберите формат исходной ссылки справа или снизу, который предназначен для столбца или строки, в зависимости от типа вставки.

Код:

 Пример вставки столбца 2.7

Шаг 9. Теперь все готово. Мы можем скомпилировать код и запустить его. Мы увидим, что между столбцами Colum1 и Column2 будет добавлен новый столбец, как показано ниже.

Этот пример — еще один простой способ вставки столбца в VBA.

Шаг 1. Вставьте новый модуль

Вставка модуля VBA шириной 3

Шаг 2. Добавьте подкатегорию в имя столбца вставки VBA, как показано ниже.

Код:

Шаг 3. Сначала выберите ссылку на столбец или ячейку, в которую мы хотим добавить столбец, с помощью кнопки "Выбрать", как показано ниже.

Код:

 Столбцы Выберите

Шаг 4. Во второй строке используйте команду «Выделение» вместе с функцией «Вставка», как показано ниже.

Код:

 Вставка выделения» width=

Шаг 5: Наконец, выберите позицию, в которой мы хотим сместить вставленный новый столбец вправо или влево с помощью функции Shift. Выбор размещения нового столбца зависит от индивидуальных требований.

Код:

 Сдвиг вправо

Шаг 6. На этом наш код завершен. Теперь мы можем скомпилировать код, чтобы найти ошибки. Если ошибок не обнаружено, запустите код. Мы увидим, что новый столбец будет добавлен между столбцом1 и столбцом2, как показано ниже.

В этом примере мы узнаем, как добавлять новые столбцы после каждого уже существующего столбца.

Шаг 1. Теперь вставьте модуль из меню вставки.

модуль 4

Шаг 2. После этого добавьте подкатегорию в имя столбца VBA Insert с последовательностью чисел.

Код:

Шаг 3. Теперь используйте DIM для определения переменной с любым именем. Мы использовали столбец как целое число (в случае использования чисел)

Код:

Шаг 4. В столбце после каждого постоянного заполненного столбца мы выберем и используем столбец (2), чтобы добавить новый столбец, как показано ниже.

Код:

Шаг 5. Откройте цикл For-Next, в котором мы запишем условия для вставки столбцов друг за другом, как показано на рисунке.

Код:

 Пример вставки столбца 4.4

Шаг 6. Поскольку в нашем образце данных всего 2 столбца, мы можем добавить только новый столбец только из этих столбцов. Таким образом, мы используем диапазон столбцов последовательности от 0 до 2.

Код:

 Пример вставки столбца 4.5

Шаг 7. С помощью функции ActiveCell используйте EntireColumn для вставки, как показано ниже.

Код:

 Вставить столбец Пример 4.6

Шаг 8: С помощью функции ActiveCell используйте Offset для размещения вновь добавленного столбца. Мы используем 0 и 2 позицию.

Код:

 Пример вставки столбца 4.7

Шаг 9. Теперь скомпилируйте код и запустите его, если ошибок не обнаружено. Мы увидим, что после столбца1 и столбца2 добавляются новые столбцы.

Плюсы вставки столбца Excel VBA

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

Что нужно помнить

  • Если вы используете пример 4, не забудьте выбрать диапазон столбцов, пока таблица не станет применимой.
  • Сохранение файла в Excel с поддержкой макросов сохраняет код.
  • Вставляйте только применимые и обязательные столбцы, чтобы избежать добавления ненужных столбцов.

Рекомендуемые статьи

Это руководство по вставке столбца VBA. Здесь мы обсуждаем, как вставить столбец в Excel, используя код VBA, а также практические примеры и загружаемый шаблон Excel. Вы также можете ознакомиться с другими нашими рекомендуемыми статьями –

Обычно на листе Excel у нас есть два разных метода добавления или вставки столбцов, один из которых является сочетанием клавиш, а другой — с помощью щелчка правой кнопкой мыши и метода вставки, но в VBA мы должны использовать команду вставки и оператор всего столбца для добавить любой столбец вместе, хитрость в том, что если нам нужно вставить один столбец, мы даем ссылку на один столбец, но для нескольких столбцов мы даем несколько ссылок на столбцы.

Вставка столбцов в Excel с помощью VBA

Как часть кода VBA Код VBA Код VBA представляет собой набор инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи. читать далее , нам может понадобиться вставить несколько столбцов в нашу таблицу данных, чтобы они соответствовали нашим потребностям. Вставка столбца — это простая комбинация клавиш на листе, нажав Ctrl +, но как насчет вставки нового столбца с помощью кода VBA. В этой статье «Вставка столбца VBA» мы покажем вам процесс добавления столбцов в Excel Добавление столбцов в Excel Добавление столбца в Excel означает вставку нового столбца в существующий набор данных. прочитайте больше и покажите вам примеры различных сценариев.

VBA Insert Columns

Как вставить столбцы в таблицу Excel с помощью VBA?

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

Например, если вы хотите вставить столбец после столбца B, вы можете создать такой код.

Столбцы("C")

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

После того, как столбцы указаны, нам нужно получить доступ к свойству «Весь столбец».

Столбцы(“C”).EntireColumn

Затем нам нужно выбрать метод «Вставка».

Столбцы(“C”).EntireColumn.Insert

Это вставит столбец после столбца C, а существующий столбец C будет перемещен в D.

Теперь посмотрите, как вставить столбец с помощью объекта RANGE. Для этого рассмотрим приведенные ниже данные в качестве примера.

Теперь я хочу, чтобы VBA вставил столбец после столбца A, выполните следующие шаги, чтобы создать код.

Шаг 1. Запустите подпроцедуру.

Шаг 2. Откройте объект Range.

Код:

 VBA Insert Columns Step 2

Шаг 3. Теперь укажите столбец в двойных кавычках.

Код:

 VBA Insert Columns Step 3

Шаг 4. Теперь выберите свойство «Весь столбец».

Код:

 VBA Insert Columns Step 4

Шаг 5. После выбора свойства «Весь столбец» выберите метод «Вставить».

Код:

VBA Insert Columns Step 5

Теперь ваш код выглядит так.

Код:

Запустите код. Он вставит новый столбец B.

Например, если вы хотите вставить два новых столбца после столбца A, нам нужно указать адреса двух столбцов.

Код:

Приведенный выше код вставит два столбца после столбца A.

Мы можем вставить новый столбец, используя единственный метод «Вставить», не обращаясь к свойству «Весь столбец». Для этого давайте разберемся с синтаксисом метода «вставить».

[Shift]: когда мы вставляем новый столбец, нужно ли нам смещать столбцы вправо или вниз в случае строк. Здесь мы можем использовать две опции: «xlToRight» и «xlDownTo»

[Копировать источник]: здесь будет указан формат вновь вставленного столбца. Нужен ли вам формат с левой стороны столбца или из ячеек выше. Здесь мы можем использовать две опции «xlFormatFromLeftOrAbove» и «xlFormatFromRightOrBelow».

Ниже приведен пример кода для вас.

Мы видели, как VBA вставляет столбцы с помощью объекта RANGE; теперь мы покажем, что можем вставлять столбцы, используя свойство COLUMNS.

Откройте свойство COLUMNS.

Код:

Использование VBA Свойство столбцов 1

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

Если вы хотите вставить столбец после столбца A, используйте код COLUMNS("B"). Если вы используете числовую ссылку, код будет COLUMNS(2).

Код:

Использование свойства столбцов VBA 1-1

Теперь у вас возникает проблема, потому что, когда мы используем свойство COLUMNS, мы не можем получить доступ к списку IntelliSense.

Код:

Использование свойства столбцов VBA 1-2

Здесь нам нужно быть уверенными в том, что мы делаем. Вот почему я сначала показал вам объект RANGE.

Код:

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

 Альтернативные столбцы 1

Если вы хотите вставлять новые столбцы после каждой альтернативной строки, нам нужно использовать циклы VBA. Используйте циклы VBA Цикл VBA в Excel — это инструкция для запуска кода или повторения действия несколько раз. Подробнее . Приведенный ниже код создан специально для вас.

Код:

Это вставит столбец следующим образом.

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

На основе значения ячейки 1

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

Используйте приведенный ниже код для выполнения этой задачи.

Код:

Вы можете загрузить эту вставку столбцов Excel здесь. Шаблон Excel для вставки столбцов VBA

Рекомендуемые статьи

Это руководство по вставке столбцов VBA. Здесь мы покажем вам, как вставлять один или несколько столбцов в различных сценариях вместе с примерами и загружаемым шаблоном Excel. Ниже приведены некоторые полезные статьи Excel, связанные с VBA –

Читайте также: