Note: The other languages of the website are Google-translated. Back to English

Как удалить целые столбцы на основе значения заголовка в Excel?

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

Удалить целые столбцы на основе значения заголовка с кодом VBA
Удалить целые столбцы на основе значения заголовка с помощью Kutools for Excel


Удалить целые столбцы на основе значения заголовка с кодом VBA

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

1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Приложение Microsoft Visual Basic окно.

2. в Приложение Microsoft Visual Basic окна, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код в окно модуля.

Код VBA: удалить целые столбцы на основе значения заголовка

Sub DeleteSpecifcColumn()
	Set MR = Range("A1:D1")
	For Each cell In MR
		If cell.Value = "old" Then cell.EntireColumn.Delete
	Next
End Sub

Заметки:

1) в коде: «старый»- это значение заголовка, на основе которого вы хотите удалить весь столбец. Измените значение заголовка вручную. И A1: D1 - это диапазон столбцов, который вы хотите использовать.
2) Этот код чувствителен к регистру.

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


Удалить целые столбцы на основе значения заголовка с помощью Kutools for Excel

Работы С Нами Kutools for ExcelАвтора Выбрать определенные ячейки вы можете легко выбрать все столбцы, которые сначала содержат определенное значение заголовка, а затем сразу удалить эти выбранные столбцы. Пожалуйста, сделайте следующее.

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Выберите диапазон, содержащий столбцы, которые необходимо удалить, и нажмите Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:

2. в Выбрать определенные ячейки в диалоговом окне выберите Вся колонка вариант в Тип выбора раздел, а в Конкретный тип выпадающий список, выберите Равно вариант, затем введите значение заголовка в следующее поле. И, наконец, нажмите кнопку OK кнопка. Смотрите скриншот:

3. Нажмите OK в другом всплывающем диалоговом окне, то сразу же выбираются столбцы, содержащие указанное значение заголовка.

4. Щелкните правой кнопкой мыши заголовок выбранного столбца, а затем щелкните Удалить из контекстного меню. Затем все выбранные столбцы удаляются сразу.

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


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (12)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Извините, если это кажется супер простым, но я впервые пробую vba. Используя это, как бы я применил его для удаления нескольких заголовков столбцов. На самом деле я пытаюсь сохранить только определенные столбцы заголовков и удалить остальную часть изменяющегося списка.
Этот комментарий был сведен к минимуму модератором на сайте
В первом коде просто скопируйте 4-ю строку и измените «старый» на имя второго столбца, и он будет работать.
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Это хорошо работает, пока у вас нет двух смежных столбцов с одинаковым заголовком. Скажем, ваш диапазон A1: A5, а A2 и A3 имеют заголовок «старый». Он удалит A2, но затем A3 переместится на место, которое раньше занимал A2, и код пропустит его, так как будет искать новую A3, следующую ячейку в своем диапазоне.
Этот комментарий был сведен к минимуму модератором на сайте
Привет Элиас,
Как вы упомянули, A2 и A3 имеют один и тот же заголовок «старый». Но они в одной колонке, после применения кода вся колонка А будет удалена сразу.
Я не уверен, что понимаю вашу точку зрения. Было бы неплохо, если бы вы могли предоставить скриншот того, что вы пытаетесь сделать.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, можно ли сделать это с несколькими именами столбцов?
Этот комментарий был сведен к минимуму модератором на сайте
Привет Марк,
Попробуйте приведенный ниже код. В восьмой строке, пожалуйста, заключите имя каждого столбца в двойные кавычки и разделите их запятой. Надеюсь, я смогу помочь. Спасибо.

Подраздел DeleteSpecifcColumn()

Dim xFNum, xFFNum, xCount как целое число

Dim xStr как строка

Dim xArrName как вариант

Dim MR, xRg как диапазон

On Error Resume Next

Установите MR = Диапазон ("A1: N1")

xArrName = Array("old", "new", "get") 'заключите имя каждого столбца в двойные кавычки и разделите их запятой

xCount = MR.Count

xStr = xArrName(xFNum)

Для xFFNum = xCount до 1 Шаг -1

Установите xRg = ячейки (1, xFFNum)

Для xFNum = 0 в UBound(xArrName)

xStr = xArrName(xFNum)

Если xRg.Value = xStr Тогда xRg.EntireColumn.Delete

Следующий xFNum

Далее

End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Я думаю, что строку 12 нужно изменить, чтобы код работал. Исходная строка 12 "Set xRg = Cells(1, xFFNum)" модифицированная строка 12 "Set xRg = MR(1, xFFNum)"
Подраздел DeleteSpecifcColumn()
Dim xFNum, xFFNum, xCount как целое число
Dim xStr как строка
Dim xArrName как вариант
Dim MR, xRg как диапазон
On Error Resume Next
Установите MR = Диапазон ("A1: N1")
xArrName = Array("old", "new", "get") 'заключите имя каждого столбца в двойные кавычки и разделите их запятой
xCount = MR.Count
xStr = xArrName(xFNum)
Для xFFNum = xCount до 1 Шаг -1
Установить xRg = MR(1, xFFNum)
Для xFNum = 0 в UBound(xArrName)
xStr = xArrName(xFNum)
Если xRg.Value = xStr Тогда xRg.EntireColumn.Delete
Следующий xFNum
Далее
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Что делать, если заголовки начинаются с 4-й строки
Этот комментарий был сведен к минимуму модератором на сайте
В примере VBA указано, что код удалит все столбцы, заголовки которых СОДЕРЖАТ «старые». Это не относится к делу. Оператор = удалит только точные совпадения. Вам нужно использовать оператор LIKE с подстановочным знаком.
Фиксированный код: Sub DeleteSpecifcColumn()
Установите MR = Диапазон ("A1: D1")
Для каждой ячейки в MR
Если cell.Value LIKE "old*" Then cell.EntireColumn.Delete
Далее
End Sub

Этот комментарий был сведен к минимуму модератором на сайте
Привет, спасибо за ваше исправление и обмен. 
Этот комментарий был сведен к минимуму модератором на сайте
Hola, tengo una hoja de excel con varios datos, digamos 4 columnas y 12 filas, me gustaría poder imprimir cada fila en un folio separado en una plantilla, es decir, tenemos una hoja con varios nombres y apellidos y teléfono, quiero imprimir tantas páginas como filas tenga la hoja de excel, он inte tado varias cosas pero no encuentro la forma. Грасиас де Антемано
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
Если вы хотите распечатать каждую строку на отдельной странице рабочего листа, рекомендуется вставлять разрывы страниц через каждую 1 строку, а затем распечатывать их.
Методы, представленные в этой статье, могут оказать вам услугу. Пожалуйста, попробуйте. Спасибо.
Как вставить разрыв страницы через каждые X строк в Excel?[/url]
https://www.extendoffice.com/documents/excel/1774-excel-insert-page-break-every-row.html
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL