Excel VBA Удалить лист

К этому времени мы все знаем, как снять защиту с листа. Лист удаления VBA имеет такой же способ написания кода, что и лист с незащищенной защитой. VBA Delete Sheet, как следует из названия, используется для автоматического удаления выбранного листа. Чтобы использовать функцию удаления VBA для удаления любого листа, сначала нам нужно определить, какой лист мы хотим удалить. Функция удаления VBA работает, когда мы вызываем имя листа или последовательность этого листа, а затем используем функцию удаления после этого. Ниже приведен синтаксис таблицы удаления VBA.

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

Как удалить лист в Excel VBA?

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

Вы можете скачать этот Пример удаления листа VBA здесь - Пример удаления листа VBA

VBA Delete Sheet - Пример № 1

В этом примере мы увидим простой способ удаления любого листа. Для этого выполните следующие шаги:

Шаг 1. Откройте модуль на вкладке меню «Вставка».

Шаг 2: Теперь напишите подкатегорию VBA Delete Sheet. Мы можем использовать любое другое имя для определения кода.

Код:

 Sub VBA_DeleteSheet () End Sub 

Шаг 3: Используйте объект Worksheets и выберите лист, который мы хотим удалить. Здесь этот лист называется Sheet1 .

Код:

 Sub VBA_DeleteSheet () Рабочие листы ("Лист1"). End Sub 

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

Код:

 Sub VBA_DeleteSheet () Рабочие таблицы ("Sheet1"). Удалить End Sub 

Шаг 5: Запустите код, нажав клавишу F5 или нажав кнопку воспроизведения.

Мы увидим, что система предложит нам предупреждение, что Excel удалит лист навсегда. Чтобы продолжить, нажмите « Удалить» .

Шаг 6: Мы увидим, что лист «Лист1» теперь удален.

Шаг 7: Предположим, мы пытаемся удалить лист, который не существует, или если мы в итоге введем неправильное имя. Ниже я попытался ввести имя листа, которого нет в файле Excel, как показано ниже.

Код:

 Sub VBA_DeleteSheet () Рабочие таблицы ("Sheet2"). Удалить End Sub 

Шаг 8: Теперь запустите код. Мы увидим, что VBA выдает нам ошибку «Subscript out of Range», что означает, что мы выбрали лист, который не существует.

VBA Delete Sheet - Пример № 2

Существует еще один способ реализации VBA Delete Sheet. Это не такой маленький код, как метод, который мы видели в примере 1. Но также простой способ реализации. Для этого выполните следующие шаги:

Шаг 1: Запишите подпроцедуру листа VBA Delete, как показано ниже.

Код:

 Sub VBA_DeleteSheet2 () End Sub 

Шаг 2: Теперь выберите переменную для Worksheet с любым именем. Здесь мы выбрали ExSheet, как показано ниже.

Код:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet End Sub 

Шаг 3: Теперь установите определенную переменную с помощью функции Worksheets и вставьте имя листа, который мы хотим удалить. Здесь снова имя листа « Лист1 ».

Код:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Set Worksheet ExSheet = Worksheets ("Sheet1") End Sub 

Шаг 4: Теперь назначьте определенную переменную функцией Delete, как показано ниже.

Код:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Set Worksheet ExSheet = Worksheets ("Sheet1") ExSheet.Delete End Sub 

Шаг 5: Теперь запустите код, нажав клавишу F5 или нажав кнопку Play.

Мы снова получим быстрое сообщение, так как мы все еще хотим продолжить удаление выбранного листа. Нажмите на Удалить, чтобы продолжить.

VBA Delete Sheet - Пример № 3

В этом примере мы увидим, как удалить лист, который в данный момент активен. Для этого выполните следующие шаги.

Шаг 1: Запишите подпроцедуру удаления листа VBA, как показано ниже.

Код:

 Sub VBA_DeleteSheet3 () End Sub 

Шаг 2: Используйте ту же строку кода для объявления переменной, что и Worksheet, как показано ниже, которую мы использовали в приведенных выше примерах.

Код:

 Sub VBA_DeleteSheet3 () Dim ExSheet As Worksheet End Sub 

Шаг 3: Теперь откройте цикл For Next, как показано ниже.

Код:

 Sub VBA_DeleteSheet3 () Dim ExSheet как рабочий лист для следующего ExSheet End Sub 

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

Код:

 Sub VBA_DeleteSheet3 () Dim ExSheet как рабочий лист для каждого ExSheet в ActiveWorkbook.Worksheets Next ExSheet End Sub 

Шаг 5: После того, как выбранная в данный момент рабочая таблица выбрана, мы будем использовать функцию Delete с переменной ExSheet, чтобы удалить ее.

Код:

 Sub VBA_DeleteSheet3 () Dim ExSheet как рабочий лист для каждого ExSheet в ActiveWorkbook.Worksheets ExSheet.Delete Next ExSheet End Sub 

Шаг 6: Теперь скомпилируйте код и запустите его, если ошибки не найдены. Это удалит активную рабочую таблицу из открытой выбранной рабочей книги.

VBA Delete Sheet - Пример № 4

Код, который мы видели в примере 3, можно увидеть еще одним способом. Мы можем использовать If End If Loop вместе с циклом For Next.

Шаг 1: Давайте просто рассмотрим тот же код, который мы видели в приведенном выше примере-3.

Код:

 Sub VBA_DeleteSheet4 () Dim ExSheet как рабочий лист для каждого ExSheet в ActiveWorkbook.Worksheets ExSheet.Delete Next ExSheet End Sub 

Шаг 2: Этот код удаляет лист, который в данный момент активен. Что если мы улучшим это условие, выбрав лист, который в данный момент активен и с точно таким же именем? Да, для этого нам нужно открыть цикл If End If, где мы запишем условие для этого сразу после цикла For.

Код:

 Sub VBA_DeleteSheet4 () Dim ExSheet как рабочий лист для каждого ExSheet в ActiveWorkbook.Worksheets, если ExSheet.Delete End, если следующий ExSheet, End Sub 

Шаг 3. Теперь запишите условие в цикле If, как будто имя листа в переменной ExSheet равно и точно соответствует « Sheet1 » (или любому другому имени листа), затем удалите этот лист, используя переменную ExSheet.

Код:

 Sub VBA_DeleteSheet4 () Dim ExSheet как рабочий лист для каждого ExSheet в ActiveWorkbook.Worksheets Если ExSheet.Name "Sheet1", то ExSheet.Delete End, если Next ExSheet End Sub 

Шаг 4: Мы можем скомпилировать код здесь, так как здесь нужно выполнить много шагов. Затем запустите код после этого.

Снова мы получим сообщение, в котором мы все еще хотим удалить этот лист или нет. Нажав на «Удалить», он удалит выбранный лист.

Плюсы Excel VBA Удалить лист

  • Это очень полезно, когда у нас есть огромный набор данных на разных листах, которые мы должны довольно часто удалять после выполнения задачи.
  • Код, показанный в примере-1, является самым простым кодом для применения.
  • Мы даже можем выбрать более одного листа, который мы хотим удалить.

То, что нужно запомнить

  • Мы можем также выбрать последовательность листа вместо имени листа, которое мы хотим удалить.
  • Причиной получения предупреждения перед удалением листа является то, что Excel предлагает нам проверить, есть ли какие-либо данные, которые мы не хотим потерять.
  • Как только мы закончим с кодированием, сохраните файл Excel в формате Macro enable Excel, чтобы избежать потери написанного кода.

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

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

  1. Коллекция VBA (Примеры)
  2. VBA IF Заявления | Шаблоны Excel
  3. Как использовать функцию сортировки Excel VBA?
  4. VBA While Loop (Примеры с шаблоном Excel)
  5. VBA Environ

Категория: