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

Як видалити цілі стовпці на основі значення заголовка в Excel?

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

Видаліть цілі стовпці на основі значення заголовка за допомогою коду VBA
Видаліть цілі стовпці на основі значення заголовка за допомогою Kutools для Excel


Видаліть цілі стовпці на основі значення заголовка за допомогою коду VBA

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

1. прес інший + F11 клавіші одночасно, щоб відкрити Додаток Microsoft Visual Basic вікна.

2 В Додаток Microsoft Visual Basic вікна, натисніть Insert > Модулі. А потім скопіюйте та вставте код нижче у вікно модуля.

Код 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 для Excel

з Kutools для ExcelАвтора Виберіть певні клітини Утиліта, ви можете легко вибрати всі стовпці, які містять певне значення заголовка, а потім видалити ці виділені стовпці відразу. Будь ласка, виконайте наступне.

Перед поданням заявки Kutools для Excel, будь ласка завантажте та встановіть його спочатку.

1. Виберіть діапазон, який містить стовпці, які потрібно видалити, а потім натисніть Кутулс > вибрати > Виберіть певні клітини. Дивіться знімок екрана:

2 В Виберіть певні клітини діалоговому вікні, виберіть Ціла колонка опція в Тип вибору і в розділі Конкретний тип у спадному списку виберіть Так само , а потім введіть значення заголовка в наступному полі. І нарешті натисніть OK кнопку. Дивіться знімок екрана:

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

4. Клацніть правою кнопкою миші заголовок стовпця вибраного стовпця, а потім клацніть видаляти з меню, що клацне правою кнопкою миші. Потім усі вибрані стовпці відразу видаляються.

  Якщо ви хочете отримати безкоштовну пробну версію (30 днів) цієї утиліти, натисніть, щоб завантажити, а потім перейдіть до застосування операції, як описано вище.


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (12)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Вибачте, якщо це здається дуже простим, але я вперше пробую vba. Використовуючи це, я б застосував його для видалення кількох заголовків стовпців. Насправді я намагаюся зберегти лише певні стовпці заголовків і видалити решту списку, що змінюється.
Цей коментар був мінімізований модератором на сайті
У першому коді просто скопіюйте 4-й рядок і змініть "старий" на назву другого стовпця, і це запрацює
Цей коментар був мінімізований модератором на сайті
Гей! Це добре працює, поки у вас не буде двох безперервних стовпців з однаковим заголовком. Скажімо, ваш діапазон — A1:A5, а A2 і A3 мають заголовок «старий». Він видалить A2, але потім A3 переміститься до місця, яке раніше займав A2, і код пропустить його, оскільки буде дивитися на нову клітинку A3, наступну клітинку у своєму діапазоні.
Цей коментар був мінімізований модератором на сайті
Привіт Еліас!
Як ви згадували, A2 і A3 мають той самий заголовок "старий". Але вони знаходяться в одному стовпці, після застосування коду вся колонка А буде негайно видалена.
Я не впевнений, що зрозумів вашу думку. Було б добре, якби ви надали знімок екрана того, що ви намагаєтеся зробити.
Цей коментар був мінімізований модератором на сайті
Привіт, чи можна це зробити з кількома іменами стовпців?
Цей коментар був мінімізований модератором на сайті
Привіт Марк,
Спробуйте наведений нижче код. У восьмому рядку, будь ласка, укладіть назву кожного стовпця подвійними лапками та розділіть їх комами. Сподіваюся, що зможу допомогти. Дякую.

Sub DeleteSpecifcColumn()

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

Dim xStr як рядок

Dim xArrName як варіант

Dim MR, xRg As Range

On Error Resume Next

Встановити MR = діапазон ("A1:N1")

xArrName = Array("старий", "новий", "отримати") 'окладіть кожну назву стовпця подвійними лапками та розділіть їх комами

xCount = MR.Count

xStr = xArrName(xFNum)

Для xFFNum = xCount To 1 Step -1

Встановити xRg = клітинки (1, xFFNum)

Для xFNum = 0 до UBound(xArrName)

xStr = xArrName(xFNum)

Якщо xRg.Value = xStr Тоді xRg.EntireColumn.Delete

Далі xFNum

Далі

End Sub
Цей коментар був мінімізований модератором на сайті
Я думаю, що рядок 12 потрібно змінити, щоб код запрацював. Початковий рядок 12 "Встановити xRg = клітини(1, xFFNum)", змінений рядок 12 "Встановити xRg = MR(1, xFFNum)"
Sub DeleteSpecifcColumn()
Dim xFNum, xFFNum, xCount як ціле число
Dim xStr як рядок
Dim xArrName як варіант
Dim MR, xRg As Range
On Error Resume Next
Встановити MR = діапазон ("A1:N1")
xArrName = Array("старий", "новий", "отримати") 'окладіть кожну назву стовпця подвійними лапками та розділіть їх комами
xCount = MR.Count
xStr = xArrName(xFNum)
Для xFFNum = xCount To 1 Step -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*", Тоді 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 imprieros como filas tenga la hoja de excel, he inte tado varias cosas pero no encuentro la forma. Gracias de antemano
Цей коментар був мінімізований модератором на сайті
привіт,
Якщо ви хочете надрукувати кожен рядок на окремій сторінці робочого аркуша, ось пропозиція вставляти розриви сторінок кожен 1 рядок, а потім друкувати їх.
Методи, надані в цій статті, можуть принести вам користь. Будь ласка, спробуйте. Дякую.
Як вставити розрив сторінки кожні X рядків у Excel?[/url]
https://www.extendoffice.com/documents/excel/1774-excel-insert-page-break-every-row.html
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця