Бывают случаи, когда нам нужно создать или добавить лист, а позже мы обнаруживаем, что этот лист не используется, поэтому нам нужно быстро удалить лист из книги. В этой статье основное внимание уделяется экономии времени и предоставлению кода для удаления листов без окна подсказки с использованием макроса / кода vba.

Это может быть один лист или несколько. И excel выдает всплывающее уведомление, чтобы подтвердить удаление листа. Если это один лист, это управляемо. Но если вам нужно удалить несколько листов, вы получите одно всплывающее окно на каждый лист.

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

Код VBA для удаления листа прост

Sheets("SheetName").Delete

Допустим, у вас есть этот код, чтобы добавить лист и затем удалить его, когда работа будет выполнена.

Sub AddAndDeleteSheet()

Sheets.Add 'Adds a new sheet to the active workbook

'----

'----

'----

'some work on sheet done

ActiveSheet.Delete 'deletes the active Activesheet

End Sub

Когда вы выполняете этот код, Sheets.Add будет работать без каких-либо запросов, но когда компилятор перейдет к ActiveSheet.Delete, он выдаст подобное сообщение.

pasted image 0 (1)

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

Вы хотите, чтобы Excel не показывал это предупреждение и не удалял этот проклятый лист.

Для этого мы отключим кнопку отображения предупреждений в приложении Excel.

Приведенный ниже код обойдет это предупреждающее сообщение, и лист будет удален без каких-либо указаний.

Sub AddAndDeleteSheet()

Application.DisplayAlerts = False 'switching off the alert button

Sheets.Add

'----

'----

'----

'some work on sheet done

ActiveSheet.Delete

Application.DisplayAlerts = True 'switching on the alert button

End Sub

Здесь мы удаляем Activesheet с помощью VBA. Вы можете удалить любой лист с помощью VBA. Просто напишите Таблицы («Название листа»). Удалить. Двигаемся дальше …​

DisplayAlerts — это свойство объекта Application в VBA. Здесь мы выключаем его в начале нашего кода и включаем в конце кода. Приведенный выше код подтвердит удаление без каких-либо указаний.

_Примечание: _ * Приведенный выше код игнорирует все предупреждения, выдаваемые excel. Если вы хотите разрешить удаление только листа, используйте эту строку .

Application.DisplayAlerts = False 'switching off the alert button

ActiveSheet.Delete

Application.DisplayAlerts = True 'switching on the alert button

Это игнорирует только предупреждение об удалении листа .

Pro Tip: Эти строки кода делают ваш код VBA более эффективным. Всегда используйте их в начале вашего макроса и включайте их, где бы вы ни ожидали выхода вашего кода из подпрограммы . _Warning _ * : Если не было включено перед выходом из подпрограммы , вы можете вообще не увидеть никаких предупреждений. Даже если ваш код не запущен. Это может вызвать множество проблем . Если вам нужно удалить несколько листов и вы используете цикл, попробуйте этот код —

Option Explicit

Sub macro2()

Dim i As Long

Application.DisplayAlerts = False

For i = 1 to Worksheets.Count

If Worksheets(i).Name Like "Test*" Then Worksheets(i).Delete

Next i

Application.DisplayAlerts = True

End Sub

Это оно. Это сделано. Это просто, как включить и выключить вентилятор. Не правда ли?

image 29

Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]

Скачать файл

`link: /wp-content-uploads-2013-07-Delete-sheets-without-confirmation-prompts-using-VBA-in-Microsoft-Excel.xls [__ Удалять листы без запросов подтверждения с помощью VBA в Microsoft Excel]

Статьи по теме:

link: / Printing-in-vba-change-the-default-printer-using-vba-in-microsoft-excel [Изменить принтер по умолчанию с помощью VBA в Microsoft Excel 2016]

link: / general-themes-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Отключить предупреждающие сообщения с помощью VBA в Microsoft Excel 2016]

link: / menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [Показать сообщение в строке состояния Excel VBA]

link: / general-themes-in-vba-insert-pictures-using-vba-in-microsoft-excel [Вставить изображения с помощью VBA в Microsoft Excel 2016]

link: / using-loops-how-to-loop-through-sizes-in-excel-using-vba [Как перебирать листы в Excel с помощью VBA]

Популярные статьи:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-повышения-продуктивность [50 сочетаний клавиш Excel для повышения производительности]

link: / формулы-и-функции-введение-функции-vlookup [Как использовать функцию ВПР в Excel]

link: / tips-countif-in-microsoft-excel [Как использовать функцию СЧЁТЕСЛИ в Excel]

link: / excel-formula-and-function-excel-sumif-function [Как использовать функцию СУММЕСЛИ в Excel]