VBA Изтриване или изчистване на работен лист

Този урок ще ви научи как да изтриете или изчистите работен лист с помощта на VBA.

Изтриване на работен лист

Използвайте командата delete, за да изтриете работен лист.

Изтриване на работен лист по име

1 Листове („Лист1“). Изтриване

Изтриване на работен лист по номер на индекс

Този код изтрива първия работен лист в работната книга:

1 Листове (1). Изтриване

Този код изтрива последния работен лист в работната книга:

1 Листове (Sheets.Count) .Delete

Изтриване на работен лист без подкана

Когато се опитате да изтриете работен лист, Excel ще ви помоли да потвърдите действието си:

Можете да деактивирате тези подкани (сигнали), като превключите DisplayAlerts:

123 Application.DisplayAlerts = FalseЛистове („Лист1“). ИзтриванеApplication.DisplayAlerts = Вярно

Изтриване на лист, ако съществува

Ако се опитате да изтриете работен лист, който не съществува, VBA ще генерира грешка. С On Error Resume Next можете да кажете на VBA да изтрие лист, ако съществува, в противен случай преминете към следващия ред код:

123 На грешка възобновяване следващоЛистове („Лист1“). ИзтриванеПри грешка GoTo 0

Можете също да използвате нашата функция RangeExists, за да проверите дали лист съществува и ако е така, изтрийте го .:

123 Ако RangeExists ("Sheet1") ТогаваЛистове („Лист1“). ИзтриванеКрай Ако

Чист лист

Този код ще изчисти цял лист със съдържание, формати и всичко останало:

1 Листове ("Лист1"). Клетки. Изчистване

Изчистете съдържанието на листа

Този код ще изчисти съдържанието на целия лист. Той ще остави само форматирането, коментарите и всичко останало:

1 Листове ("Sheet1"). Cells.ClearContents

Изчистен лист Използвана гама

Горните примери ще изчистят ВСИЧКИ клетки в работен лист. Това може да отнеме много време при големи листове. Ако вместо това използвате UsedRange, VBA ще изчисти само „използваните“ клетки, които съдържат стойности, формати и т.н.

1 Листове ("Sheet1"). UsedRange.Clear
wave wave wave wave wave