Как да изтриете листове в Excel (преки пътища + VBA)

Когато работите с Excel, прекарвате по -голямата част от времето си в работния лист (това е областта, която има всички клетки и всичко, което се случва там).

Ефективната работа с Excel също означава, че трябва да работите с множество работни листове в една и съща работна книга.

Excel ви позволява лесно да добавяте няколко работни листа в работната книга, като в същото време можете лесно и да изтривате тези работни листове.

В този урок по Excel ще ви покажа как бързо изтриване на работни листове в Excel. Бих обхванал множество методи, като например използване на клавишни комбинации, опции в лентата и VBA за изтриване на листове в Excel.

Забележка: В този урок ще използвам взаимозаменяемо думите „лист“ и „работен лист“. Но за да ви кажа разликата, таблиците ще включват работни листове, както и таблици с диаграми, но тъй като таблиците с диаграми не са толкова често използвани, винаги когато използвам думата Sheet, я считайте за работен лист.

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

Най-лесният начин да изтриете работен лист в Excel е като използвате тази проста техника с мишка с две щраквания.

Да предположим, че имате работен лист, който има три листа, както е показано по -долу, и искате да изтриете Sheet1.

По -долу са описани стъпките за това:

  1. Щракнете с десния бутон върху листа, който искате да изтриете
  2. Кликнете върху опцията за изтриване
  3. В подканата, която се показва, щракнете върху бутона Изтриване

Можете също да използвате горната техника на листове, които дори не са активният лист. Например, ако в момента съм в Sheet1 и искам да изтрия Shee3, тогава мога просто да щракна с десния бутон върху Sheet3 и да го изтрия.

Можете също да използвате същата техника изтрийте няколко листа едновременно.

Например, ако искам да изтрия Sheet2 и Sheet3 наведнъж, мога да държа контролния клавиш и да щракна върху Sheet2 и Sheet3 един по един (докато все още държа контролния ключ).

Като държи клавиша за управление, Excel ще ми позволи да избирам няколко листа наведнъж. След като приключа с избора на желаните листове, мога да оставя контролния ключ. сега мога да щракна с десния бутон върху някой от избраните раздели на листове и да кликна върху изтриване.

Не забравяйте, че не можете да изтриете всички работни листове в работна книга в Excel. винаги трябва да има поне един лист в работната книга. ако опитате да изтриете всички работни листове (или единствения активен лист), ще видите подкана, която ще ви каже, че нямате право да правите това

Клавишни комбинации за изтриване на работни листове

Има не една, а две и половина клавишни комбинации, които можете да използвате за изтриване на работни листове в Excel.

Казвам две и половина, защото един от преките пътища използва мишката, както и клавиатурата (и все още е по -бърз начин да го направите)

Хибридна клавишна комбинация за изтриване на лист

Щракнете с десния бутон + D

За да изтриете избрания работен лист или работни листове, щракнете с десния бутон и след това натиснете клавиша D на клавиатурата.

Лично аз намирам това много по -бързо от просто използване на мишката за изтриване на работен лист (както разгледах в горния раздел)

Обикновена клавишна комбинация за изтриване на лист

ALT + H + D + S

Ако предпочитате да изхвърлите мишката и да използвате само клавиатурата, горната клавишна комбинация ще изтрие активния лист или избраните листове.

Трябва да натиснете последователно тези клавиши (т.е. един след друг)

Въпреки че може да изглежда като малко по -дълга клавишна комбинация, след като свикнете с нея, тя е също толкова бърза, колкото всяка друга техника, обхваната в този урок

Стара клавишна комбинация за изтриване на работни листове

Както всички останали, Excel също има минало и не е толкова красиво. Говоря за ерата на стила преди лентата.

От съображения за съвместимост Excel все още позволява на някои от тези стари клавишни комбинации да работят в по -новите версии. и в много случаи тези по -ранни преки пътища са по -къси и по -добри.

За щастие има наследствена клавишна комбинация, която работи за изтриване на работни листове в Excel

ALT + E + L

Изтриване на ActiveSheet с помощта на VBA

Що се отнася до изтриването на един лист или няколко работни листа, по-добре е да използвате гореспоменатите методи.

Въпреки че VBA може да автоматизира процеса, неговата полезност идва, когато трябва да повторите задачата няколко пъти.

Както ще видите, с VBA можете да направите много повече, когато става въпрос за изтриване на работни листове в Excel.

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

По -долу е кодът VBA, който ще изтрие активния лист:

Sub DeleteSheet () ActiveSheet.Delete End Sub

Ако го използвате в непосредствения прозорец, можете просто да използвате следния ред:

ActiveSheet.Delete

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

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

Полето за съобщение за потвърждение е полезна функция, която гарантира, че имате възможност да отмените изтриването на листа, в случай че сте стартирали кода случайно/погрешно

Но ако вече знаете какво правите, получаването на тази подкана може да бъде доста дразнещо.

така че тук е кодът на VBA, който ще се увери, че листовете са изтрити, но не виждате поле за съобщение за подкана.

Sub DeleteSheet () Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True End Sub

В горния код зададох свойството Application.DisplayAlerts на false, което означава, че Excel няма да ви показва никакви сигнали за показване, докато кодът работи.

Също така е много важно да се уверите, че го връщате обратно на true в края на кода, за да възстановите функционалността (както можете да видите, че направих в горния код).

Внимание: Когато зададете свойството Application.DisplayAlerts на false, Excel просто ще изтрие работния лист и няма да има начин да го възстановите. затова ви съветвам да направите резервно копие, преди да използвате този вид код.

Изтриване на лист по име (ако съществува) с помощта на VBA

VBA ви позволява да автоматизирате процеса на изтриване на конкретен работен лист (на множество работни листове) въз основа на името на листа.

Например, ако имате работен лист с името „Продажби“, можете да използвате кода по -долу, за да го изтриете:

Sub DeleteSheetByName () Sheets ("Продажби"). Изтриване на End Sub

Този код би изтрил само листа с името Sales.

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

С горния код няма значение колко работни листа има в работната книга, той просто ще изтрие работния лист за продажби.

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

В случай, че искате да изтриете няколко листа въз основа на името им, можете да направите и това.

Например кодът по -долу би изтрил листовете с името Продажби, Маркетинг, Финанси:

Sub DeleteSheetsByName () Листове ("Продажби"). Изтриване на листове ("Маркетинг"). Изтриване на листове ("Финанси").

Изтриване на всички листове с изключение на активния лист с помощта на VBA

Ако имате работна книга с множество работни листове в нея и искате да изтриете всички работни листове с изключение на активния лист, VBA вероятно е един от най -добрите методи за това.

По -долу е кодът VBA, който би изтрил всички листове с изключение на активния лист в работната книга.

Sub DeleteSheetByName () Затъмнява ws като работен лист Application.DisplayAlerts = False За всеки ws в таблици If ws.Name ActiveSheet.Name Тогава ws.Delete End If Next ws Application.DisplayAlerts = True End Sub

Обърнете внимание, че казах, че свойството Application.DisplayAlerts пада в началото на кода, тъй като не искам да виждам подкана за всеки изтрит лист.

Изтрийте всички листове със специфичен текстов низ в името

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

Да предположим, че имате работна книга с много различни работни листове и искате да изтриете всички работни листове, които имат определен текстов низ в тях, тогава можете лесно да направите това с помощта на VBA.

Например по -долу имам работна книга, в която искам да изтрия всички работни листове, в които има текстов низ „Продажби“.

По -долу е кодът VBA, който би направил това:

Sub DeleteSheetByName () Затъмнява ws като работен лист Application.DisplayAlerts = False За всеки ws в листове Ако ws.Name като "*" & "Продажби" & "*" Тогава MsgBox ws.Name ws.Delete End If Next ws Application.DisplayAlerts = True End Sub

Горният код използва израза if-then, за да премине през всички работни листове в работната книга. Той проверява името на всички тези работни листове и ако името съдържа думата „Продажби“, тогава този работен лист се изтрива.

Ако искате да промените кода и да потърсите друг текстов низ, можете да го промените в петия ред на горния код.

Също така имайте предвид, че съм използвал звездичка (*), която е символ с заместваща карта, от двете страни на текстовия низ, който търсим в името на работния лист. Това гарантира, че независимо къде се появява низът в името на работния лист, той все пак ще бъде изтрит.

Можете също да промените кода, за да сте сигурни, че само тези работни листове са изтрити, където текстовият низ се появява в началото на името на работния лист.

Например, ако искате да изтриете тези листове, където терминът продажби се появява в началото, използвайте следния код в петия ред.

Ако ws.Name харесва "*" & "Продажби" & "*" Тогава

Тук съм използвал заместващия знак само след текстовото питие, а не преди него. Това ще гарантира, че докато проверявате имената на работния лист, само те ще отговарят на критериите, когато терминът „Продажби“ е в началото на името.

Така че това са някои от методите, които можете да използвате, когато искате да изтриете листове в Excel. В повечето случаи можете лесно да направите това точно в работния лист, като използвате мишката или клавишната комбинация.

Но в случай, че имате тежка работна книга с много работни листове и искате бързо да изтриете конкретни видове листове, тогава можете да използвате и VBA.

Надявам се, че сте намерили този урок за полезен.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave