Този урок ще ви научи как да изтриете или изчистите работен лист с помощта на 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 |