Excel VBA Delete Sheet

Към този момент всички знаем как да премахнем защитата на всеки лист. Листът за изтриване на VBA има същия начин за писане на код като този за незащитен лист. VBA Delete Sheet, както казва името се използва за автоматично изтриване на избрания работен лист. За да използваме функцията за изтриване на VBA за изтриване на всеки лист, първо трябва да идентифицираме кой лист искаме да изтрием. Функцията VBA Delete работи, когато извикаме името на листа или последователността на този лист и използваме функцията за изтриване след това. По-долу е синтаксиса на VBA Delete Sheet.

По-горе показаният синтаксис ще бъде използван по много различни начини в предстоящите примери.

Как да изтриете лист в Excel VBA?

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

Можете да изтеглите този пример за изтриване на VBA тук - Пример за изтриване на VBA

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

В този пример ще видим прост начин за изтриване на всеки работен лист. За това следвайте стъпките по-долу:

Стъпка 1: Отворете модул от раздела Меню Вмъкване.

Стъпка 2: Сега напишете подкатегорията на VBA Delete Sheet. Можем да използваме всяко друго име за определяне на кода.

Код:

 Sub VBA_DeleteSheet () Край Sub 

Стъпка 3: Използвайте обекта Работни листове и изберете листа, който искаме да изтрием. Тук този лист е наречен Sheet1 .

Код:

 Под VBA_DeleteSheet () Работни листове („Sheet1“). Край Sub 

Стъпка 4: Сега използвайте функцията за изтриване след името на избрания лист.

Код:

 Sub VBA_DeleteSheet () Работни листове ("Sheet1"). Изтриване на края Sub 

Стъпка 5: Стартирайте кода, като натиснете клавиша F5 или натиснете бутона за възпроизвеждане.

Ще видим, че системата ще ни подкани с предупреждение, че excel трайно ще изтрие листа. За да продължите, щракнете върху Изтриване .

Стъпка 6: Ще видим, че листът „Sheet1“ вече е изтрит.

Стъпка 7: Да предположим, че се опитваме да изтрием лист, който не съществува или ако в крайна сметка поставим неправилно име. По-долу се опитах да въведа името на листа, който го няма във файла excel, както е показано по-долу.

Код:

 Sub VBA_DeleteSheet () Работни листове ("Sheet2"). Изтриване на края Sub 

Стъпка 8: Сега стартирайте кода. Ще видим, VBA ни дава грешката „Абонамент извън обхвата“, което означава, че сме избрали лист, който не съществува.

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

Има и друг начин за внедряване на VBA Delete Sheet. Това не е толкова малък код, колкото методът, който видяхме в Пример-1. Но също така и лесен начин за изпълнение. За това следвайте стъпките по-долу:

Стъпка 1: Напишете подпроцедура на листа VBA Delete, както е показано по-долу.

Код:

 Sub VBA_DeleteSheet2 () Край Sub 

Стъпка 2: Сега изберете променлива за Работен лист с всяко име. Тук сме избрали ExSheet, както е показано по-долу.

Код:

 Sub VBA_DeleteSheet2 () Dim ExSheet като работен лист End Sub 

Стъпка 3: Сега задайте определената променлива с функцията Работни листове и там поставете името на листа, който искаме да изтрием. И тук името на листа отново е „ Sheet1 “.

Код:

 Под VBA_DeleteSheet2 () Dim ExSheet като набор от работни листове ExSheet = Работни листове ("Sheet1") край Sub 

Стъпка 4: Сега задайте определената променлива с функцията Изтриване, както е показано по-долу.

Код:

 Под VBA_DeleteSheet2 () Dim ExSheet като набор от работни листове ExSheet = Работни листове ("Sheet1") ExSheet.Delete End Sub 

Стъпка 5: Сега стартирайте кода, като натиснете клавиша F5 или кликнете върху бутона Възпроизвеждане.

Отново ще получим бързо съобщение, тъй като все още искаме да продължим с изтриването на избрания лист. Кликнете върху Изтриване, за да продължите.

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

В този пример ще видим как да изтрием лист, който е активен в момента. За това следвайте стъпките по-долу.

Стъпка 1: Напишете подпроцедурата на VBA Delete Sheet, както е показано по-долу.

Код:

 Sub VBA_DeleteSheet3 () Край Sub 

Стъпка 2: Използвайте същия ред код за деклариране на променливата като Работен лист, както е показано по-долу, който сме използвали в горните примери.

Код:

 Sub VBA_DeleteSheet3 () Dim ExSheet като работен лист End Sub 

Стъпка 3: Сега отворете цикъл For Next, както е показано по-долу.

Код:

 Sub VBA_DeleteSheet3 () Dim ExSheet като работен лист за следващия край на ExSheet Sub 

Стъпка 4: Сега ще изберем активния текущ работен лист от всички работни листове, налични в Excel Workbook.

Код:

 Под VBA_DeleteSheet3 () Dim ExSheet като работен лист за всеки ExSheet в ActiveWorkbook.Worksheets Следващ ExSheet End Sub 

Стъпка 5: След като бъде избран текущо отвореният работен лист, ще използваме функцията за изтриване с променлива ExSheet, за да изтрием това.

Код:

 Под 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 If ExSheet.Delete End If Next ExSheet End Sub 

Стъпка 3: Сега напишете условието в цикъл If, сякаш името на листа под променлива ExSheet е равно и точно на „ Sheet1 “ (Или всяко друго име на листа), след това изтрийте този лист, използвайки променлива ExSheet.

Код:

 Под VBA_DeleteSheet4 () Dim ExSheet като работен лист за всеки ExSheet в ActiveWorkbook.Worksheets Ако ExSheet.Name "Sheet1", тогава ExSheet.Delete End, ако следващият край на ExSheet Sub 

Стъпка 4: Тук можем да компилираме кода, тъй като има много стъпки. След това стартирайте кода след това.

Отново ще получим бързото съобщение, където все още искаме да изтрием този лист или не. Щраквайки върху Изтриване, той ще изтрие избрания лист.

Плюсове на Excel VBA Delete Sheet

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

Неща, които трябва да запомните

  • Можем да изберем последователността на листа и вместо името на листа, което искаме да изтрием.
  • Причината да получаваме сигнала преди изтриването на листа е, че Excel ни подканва да проверим дали има данни, които не искаме да загубим.
  • След като приключим с кодирането, запишете файла excel в Macro активирайте excel формат, за да не загубите написания код.

Препоръчителни статии

Това е ръководство за VBA Delete Sheet. Тук обсъждаме как да изтриете Sheet в Excel VBA, заедно с практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. VBA колекция (примери)
  2. VBA IF изявления | Excel Шаблони
  3. Как да използвате функция за сортиране на Excel VBA?
  4. VBA докато цикъл (примери с шаблон на Excel)
  5. VBA Environment

Категория: