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

Как удалить лист на основе значения ячейки в Excel?

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

Удалить лист на основе значения ячейки с кодом VBA


стрелка синий правый пузырь Удалить лист на основе значения ячейки с кодом VBA

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

1. Удерживая нажатой ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: удалить лист на основе значения ячейки:

Sub deletesheetbycell()
'Updateby Extendoffice
    Dim shName As String
    Dim xName As String
    Dim xWs As Worksheet
    Dim cnt As Integer
    shName = Application.InputBox("Input the text to delete the sheets based on:", "Kutools for Excel", _
                                    "", , , , , 2)
    Application.DisplayAlerts = False
    cnt = 0
    For Each xWs In ThisWorkbook.Sheets
        If xWs.Range("A1").Value = shName Then
            xWs.delete
            cnt = cnt + 1
        End If
    Next xWs
    Application.DisplayAlerts = True
    MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

Внимание: В приведенном выше коде A1 - это конкретная ячейка, содержащая определенный текст, на основе которого вы хотите удалить листы.

3. Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, напоминающее вам ввести конкретное значение, на основе которого вы хотите удалить листы, см. снимок экрана:

документ удалить лист по ячейке 1

4, Затем нажмите OK При нажатии кнопки все листы, в ячейке A1 которых есть текст KTE, были удалены сразу. Смотрите скриншот:

документ удалить лист по ячейке 2


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

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

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

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (4)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
быстрый вопрос, приведенный выше код работает для меня для удаления рабочих листов, содержащих введенное значение, но что, если я хочу удалить рабочие листы, которые не содержат введенного значения. Я пытался заменить оператор "=" на оператор <>", но это не сработало. Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Анкур,
Как вы сказали, вам просто нужно изменить "=" на " <>", как показано ниже:

Подпрограмма удаления листа по ячейке ()
Dim shName как строка
Dim xName как строка
Dim xWs как рабочий лист
Dim cnt как целое число
shName = Application.InputBox («Введите текст, не удаляйте листы на основе:», «Kutools for Excel», _
"", , , , , 2)
Приложение.DisplayAlerts = False
цент = 0
Для каждого xW в ThisWorkbook.Sheets
Если xWs.Range("A1").Value <> shName Тогда
xWs.Удалить
ЦНТ = ЦНТ + 1
End If
Следующие xWs
Application.DisplayAlerts = True
MsgBox «Удалили» и cnt и «рабочие листы», vbInformation, «Kutools for Excel»
End Sub

Пожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
Добрый день,
Не могли бы вы сказать мне, есть ли способ автоматически отвечать «да» на запрос об удалении листа? Большое тебе спасибо.
Этот комментарий был сведен к минимуму модератором на сайте
Привет еще раз, Nevermind на мой последний вопрос. Я добавил следующее до и после строки «Удалить»: Application.DisplayAlerts = False
Application.DisplayAlerts = True

Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

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

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