В столбцах Excel vba несколько столбцов

Обновлено: 04.07.2024

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

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

Пожалуйста, оставьте комментарий ниже с любыми вопросами. Спасибо!

Вам также может понравиться

Как искать в раскрывающихся списках проверки данных в Excel

Перейти к исходной ячейке формулы XLOOKUP

3 способа заполнить пустые ячейки в Excel

Макрос VBA для создания соединений Power Query для всех таблиц Excel

Привет, Джон, эта информация мне очень помогла.
Спасибо
Виктор

Отлично! Большое спасибо за знакомство с Виктором. 🙂

Я посетил десять веб-сайтов, прежде чем нашел это — это было именно то, что я искал. Очень полезно

Спасибо, Джон-Пол. Я очень ценю вашу поддержку.

Очень полезно, не так много сайтов.

ЗДРАВСТВУЙТЕ
ЭТА СТАТЬЯ ОЧЕНЬ ПОЛЕЗНА ДЛЯ МЕНЯ
ЭТА СТАТЬЯ ПОНРАВИЛАСЬ И ОЧЕНЬ ПОЛЕЗНА
БОЛЬШОЕ СПАСИБО

Большое спасибо, приятель.

Маленькая жемчужина… «Столбцы(2).Resize(, 3).Select» Большое спасибо!

Очень быстрое и информативное решение! Спасибо!!

Спасибо за комментарии к ячейкам диапазона.
Я пытаюсь удалить сразу несколько столбцов, но выдает ошибку: ошибка компиляции (подпрограмма и функция не определены)

n = «5_8_2019_AUS»
С листом(n)
.Range(.Columns(4), .Columns(6)).Удалить
End With

Большое спасибо за это. Это действительно очень полезно. Мне было интересно, есть ли аналогичный код для выбора прерывистых столбцов... например, как можно выбрать столбцы 1, 3 и 5 одновременно, используя код vba.

Чтобы добавить к моему комментарию, я нашел решение. Вот он для вашего обзора
Вопрос был: Как выбрать несколько несплошных столбцов.
Ответ:

Объединение (Диапазон (Столбцы (1), Столбцы (1)), Диапазон (Столбцы (3), Столбцы (3)), Диапазон (Столбцы (pucFirstColumnQtr — 1), Столбцы (pucFirstColumnQtr — 1)), Диапазон ( Столбцы (pucLastColumnQtr + 1), Столбцы (pucLastColumnQtr + 1))). Выберите

Диапазон(Столбцы(2), Столбцы(3)).Выбрать — это не выбирает строго столбцы B:C, если где-то у вас есть объединенная ячейка между B:D.

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

Скачать рабочую тетрадь

Загрузить это учебное пособие

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

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

Посмотрите на этот простой код:

Если вы напишете этот код в редакторе VBA, он выберет весь столбец «A». Чтобы лучше понять это, посмотрите на следующий снимок экрана:

 выберите один столбец в excel

Как видите, мы выбрали весь столбец A с помощью этой простой строки кода.

3 метода выбора нескольких столбцов с помощью VBA в Excel

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

1. Использование Range.Select в VBA для выбора нескольких столбцов

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

📌 Шаги

① Сначала нажмите Alt+F11, чтобы открыть редактор VBA. Выберите «Вставка» > «Модуль».

 вставить модуль vba

② Затем, чтобы выбрать несколько столбцов в непоследовательном порядке, введите следующий код:

Мы выбираем столбцы A, C и E.

③ Теперь сохраните файл. Затем нажмите Alt+F8, чтобы открыть диалоговое окно макроса. Выберите Range_select_method.

④ Затем нажмите «Выполнить».

vba выбрать несколько столбцов в excel

⑤ Если вы хотите выбрать столбцы от A до E, введите следующий код:

⑥ После этого нажмите «Выполнить».

< бр />

Как видите, нам удалось выбрать несколько столбцов с помощью VBA в Excel.

2. Использование метода Application.Union VBA в Excel

Теперь метод Application.Union в VBA в основном возвращает объединение двух или более диапазонов. Мы можем использовать этот метод для выбора нескольких столбцов в Excel. Если вы хотите выбрать несколько столбцов непоследовательно, вы можете использовать это. Это пригодится в будущем.

📌 Шаги

① Сначала нажмите Alt+F11, чтобы открыть редактор VBA. Выберите «Вставка» > «Модуль».

 вставить модуль vba

② Затем, чтобы выбрать несколько столбцов в непоследовательном порядке, введите следующий код:

Мы выбираем столбцы A, C и E.

③ Теперь сохраните файл. Затем нажмите Alt+F8, чтобы открыть диалоговое окно макроса. Выберите Application_Union.

④ Затем нажмите «Выполнить».

 vba выбрать несколько столбцов в excel

Наконец нам удалось выбрать несколько столбцов с помощью VBA в Excel. Используйте этот код на листе, чтобы выбрать несколько столбцов в Excel.

3. Метод EntireColumn.Select для выбора нескольких столбцов в Excel

Здесь мы также используем метод Application.Union, но добавляем простую часть EntireColumn.Select. Предположим, вы нашли значение в ячейке A2. После этого вы хотите выделить весь столбец. Вы можете использовать метод EntireColumn.Select, чтобы выбрать весь столбец.

Мы объединяем это с методом Application.Union для выбора нескольких столбцов. Если вы найдете несколько значений в разных ячейках, вы можете выбрать этот метод.

📌 Шаги

① Сначала нажмите Alt+F11, чтобы открыть редактор VBA. Выберите «Вставка» > «Модуль».

 вставить модуль vba

② Затем, чтобы выбрать несколько столбцов в непоследовательном порядке, введите следующий код:

Мы выбираем столбцы A, C и E.

③ Теперь сохраните файл. Затем нажмите Alt+F8, чтобы открыть диалоговое окно макроса. Выберите EntireColumn_Select.

④ Затем нажмите «Выполнить».

 vba выбрать несколько столбцов в excel

Как видите, нам удалось выбрать несколько столбцов с помощью VBA в Excel.

Выбор нескольких столбцов с помощью VBA из части набора данных в Excel

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

Чтобы продемонстрировать это, мы собираемся использовать этот набор данных:

< бр />

Здесь у нас есть набор данных о некоторых людях. Наша цель — выбрать все данные из столбца «Имя» и «Дата присоединения». Мы сделаем это с помощью метода Range.Select VBA.

📌 Шаги

① Сначала нажмите Alt+F11, чтобы открыть редактор VBA. Выберите «Вставка» > «Модуль».

 вставить модуль vba

② Затем, чтобы выбрать несколько столбцов в непоследовательном порядке, введите следующий код:

③ Теперь сохраните файл. Затем нажмите Alt+F8, чтобы открыть диалоговое окно макроса. Выберите select_dataset.

④ Затем нажмите «Выполнить».

 Наконец, нам удалось выбрать несколько столбцов с помощью VBA в Excel

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

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

✎ Предыдущие 3 метода фактически выбирают весь столбец. Итак, если вы хотите выбрать несколько столбцов из диапазона, используйте метод, показанный ранее.

✎ Вы всегда можете выбрать весь столбец с помощью мыши. Просто нажмите Ctrl и нажмите на названия столбцов.

Заключение

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

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

Выбрать целые строки или столбцы

Выбрать одну строку

Вы можете выбрать всю строку с помощью объекта Rows следующим образом:

Или вы можете использовать EntireRow вместе с объектами Range или Cells:

Вы также можете использовать объект Range для конкретной ссылки на строку:

Выбрать один столбец

Вместо объекта Rows используйте объект Columns для выбора столбцов. Здесь вы можете сослаться на столбец номер 3:

или букву «С», заключенную в кавычки:

Вместо EntireRow используйте EntireColumn вместе с объектами Range или Cells, чтобы выделить столбцы целиком:

Вы также можете использовать объект Range для конкретной ссылки на столбец:

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

Выбор нескольких строк или столбцов работает точно так же при использовании EntireRow или EntireColumn:

Однако при использовании объектов "Строки" или "Столбцы" необходимо вводить номера строк или буквы столбцов в кавычках:

Выберите строку или столбец ActiveCell

Чтобы выбрать строку или столбец ActiveCell, вы можете использовать одну из следующих строк кода:

Выбрать строки и столбцы на других листах

Чтобы выбрать строки или столбцы на других листах, необходимо сначала выбрать лист.

То же самое происходит при выборе строк или столбцов в других книгах.

Примечание. Необходимо активировать нужную книгу. В отличие от объекта Sheets, объект Workbook не имеет метода Select.

Программирование VBA стало проще

automacro

Прекратите искать код VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области кодирования и множеством функций, позволяющих сэкономить время для всех пользователей!

Необходимо ли выбирать строки и столбцы?

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

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



Изображение: iStock/Андрей Попов

Windows: обязательно к прочтению

Вставка столбцов и строк в Microsoft Excel — распространенная задача, и, к счастью, она проста, если вы не пытаетесь ввести слишком много столбцов (или строк) одновременно. Как только ваш выбор уходит за пределы экрана, процесс выбора становится неудобным, и легко сделать ошибку. Попробуйте вставить 20 столбцов вручную, и вы поймете, что я имею в виду. А теперь представьте, что вы вставляете 100 или 500! Если вам нужно сделать это хотя бы один раз, вы можете использовать процедуру VBA, описанную в этой статье!

Я использую Microsoft 365 в 64-разрядной системе Windows 10, но вы можете использовать более ранние версии. Используйте загружаемые файлы .xlsx, .xls или .cls, чтобы получить код. Excel Online не поддерживает макросы.

Как вставить столбцы вручную в Excel

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

Процесс прост: выберите столбец справа от того места, где вы собираетесь вставить новый столбец. Щелкните правой кнопкой мыши выделение и выберите «Вставить». Если вы выберете один столбец, Excel вставит один столбец. Если вы выберете три столбца, Excel вставит три столбца. Та же процедура работает и при вставке строк.

Теперь давайте вставим один столбец между столбцами C и D на любом пустом листе следующим образом:

  1. Начните с выбора столбца D — столбца справа от того места, куда вы хотите вставить новый столбец. Чтобы выбрать весь столбец, щелкните заголовок столбца (серая ячейка с буквой D).
  2. Щелкните правой кнопкой мыши выбранный столбец D.
  3. Выберите «Вставить» в появившемся подменю (рис. A).
  4. На рис. Б показан новый столбец. Оранжевый столбец был D; теперь это столбец E. Со столбцом C ничего не происходит.Обратите также внимание на то, что Excel соответствующим образом обновляет ячейки заголовков столбцов.

Рисунок А


< /p>

Рисунок Б


< /p>

Если вы передумали, нажмите Ctrl + Z, чтобы удалить столбцы. Вам никогда не понадобится специальная процедура для ввода нескольких новых столбцов. Но что, если вам нужно вставить 10, 15 или даже 100 новых столбцов? Выбор такого количества столбцов справа был бы в лучшем случае неудобным, потому что вы будете прокручивать экран, чтобы получить доступ ко всем. Уследить за тем, сколько столбцов вы выбираете, сложно. В этих обстоятельствах вместо этого вы можете использовать процедуру VBA.

Как использовать процедуру VBA для вставки столбцов в Excel

Процедура в листинге A работает с выбранной ячейкой и работает точно так же, как ручной процесс. Во-первых, макрос определяет пару целочисленных переменных, i и j: i хранит входное значение, определяющее количество вставляемых столбцов, а j является счетчиком. В следующей строке используется свойство ActiveCell для выбора всего столбца на основе ячейки, которую пользователь щелкает перед запуском процедуры. Затем цикл for использует входное значение i для вставки соответствующего количества столбцов слева (xlToLeft) от выбранного столбца. Процедура достаточно универсальна, чтобы вставлять ее справа от выбранного столбца. Просто используйте xlToRight вместо xlToLeft (в цикле for).

Список А

«Вставить несколько столбцов. Пользователь вводит необходимое количество столбцов.

Размер i как целое

Размерьте j как целое число

'Пользователь вводит количество столбцов для вставки.

i = InputBox("Введите количество столбцов для вставки", "Вставить столбцы")

'Цикл подсчитывает количество вставляемых столбцов.

Selection.Insert Shift:=xlToLeft ‘xlToRight

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

Чтобы войти в процедуру, нажмите Alt + F11, чтобы открыть редактор Visual Basic. В обозревателе проектов слева выберите ThisWorkbook, чтобы выполнить процедуру на любом листе. Вы можете ввести код вручную или импортировать загружаемый файл .cls. Кроме того, макрос находится в загружаемых файлах .xlsx и .xls. Если вы вводите код вручную, не вставляйте его с этой веб-страницы. Вместо этого скопируйте код в текстовый редактор, а затем вставьте этот код в модуль ThisWorkbook. При этом будут удалены все фантомные веб-символы, которые в противном случае могли бы вызвать ошибки.

Теперь пришло время использовать процедуру для вставки нескольких столбцов. Перед выполнением макроса щелкните ячейку в столбце справа от того места, куда вы хотите вставить столбец. Давайте используем процедуру для вставки 10 столбцов между столбцами C и D:

  1. Нажмите любую ячейку в столбце D.
  2. Перейдите на вкладку "Разработчики".
  3. Нажмите «Макросы» в группе «Код».
  4. В появившемся диалоговом окне выберите InsertColumns(), как показано на рис. C, и нажмите "Выполнить".
  5. При появлении запроса введите 10 (рис. D) и нажмите "ОК".

Рисунок C


< /p>

Рисунок D


< /p>

Как вы можете видеть на рисунке E, процедура вводит 10 столбцов между столбцами C и D. Сейчас это не кажется большой проблемой, потому что вы можете сделать это вручную без особых усилий, но представьте, что вы вводите 20, 50 или больше столбцов. Эта процедура экономит много времени и усилий, когда вам нужно вставить много столбцов. В отличие от ручного процесса, вы не можете отменить вставку, нажав Ctrl + Z.

Рисунок Д


< /p>

Дополнительный совет

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

Маловероятно, что вам захочется выполнять все эти шаги каждый раз, когда вы хотите запустить процедуру. Вместо этого добавьте макрос на панель быстрого доступа. Для этого прочтите статью Как добавить макросы Office на панель инструментов QAT для быстрого доступа.


< /p>

Еженедельный информационный бюллетень Microsoft

Будьте инсайдером Microsoft в своей компании, прочитав эти советы, рекомендации и памятки по Windows и Office.

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