Jak usunąć arkusze w programie Excel (skróty + VBA)

Podczas pracy z Excelem większość czasu spędzasz na arkuszu (czyli obszarze, który zawiera wszystkie komórki i wszystko, co się tam dzieje).

Wydajna praca z programem Excel oznacza również, że musisz pracować z wieloma arkuszami w tym samym skoroszycie.

Excel umożliwia łatwe dodawanie wielu arkuszy roboczych do skoroszytu, a jednocześnie możesz łatwo usuwać te arkusze.

W tym samouczku Excela pokażę ci, jak szybko usuń arkusze kalkulacyjne w programie Excel. Omówiłbym wiele metod, takich jak używanie skrótów klawiaturowych, opcji na wstążce i VBA do usuwania arkuszy w programie Excel.

Uwaga: W tym samouczku będę używać zamiennie słów „arkusz” i „arkusz”. Ale żeby powiedzieć różnicę, Arkusze zawierałyby zarówno arkusze robocze, jak i arkusze wykresów, ale ponieważ arkusze wykresów nie są tak powszechnie używane, za każdym razem, gdy używam słowa Arkusz, traktuj je jako arkusz roboczy.

Usuń arkusze za pomocą opcji prawego przycisku myszy

Najłatwiejszym sposobem usunięcia arkusza kalkulacyjnego w programie Excel jest użycie tej prostej techniki dwukrotnego kliknięcia myszy.

Załóżmy, że masz arkusz roboczy zawierający trzy arkusze, jak pokazano poniżej, i chcesz usunąć Arkusz1.

Poniżej znajdują się kroki, aby to zrobić:

  1. Kliknij prawym przyciskiem myszy arkusz, który chcesz usunąć
  2. Kliknij opcję usuwania
  3. W wyświetlonym monicie kliknij przycisk Usuń

Możesz również użyć powyższej techniki na arkuszach, które nie są nawet aktywnym arkuszem. Na przykład, jeśli aktualnie jestem na Sheet1 i chcę usunąć Shee3, mogę po prostu kliknąć prawym przyciskiem myszy na Sheet3 i go usunąć.

Możesz również użyć tej samej techniki, aby usuń wiele arkuszy jednocześnie.

Na przykład, jeśli chcę usunąć Sheet2 i Sheet3 za jednym razem, mogę przytrzymać klawisz Control i kliknąć Sheet2 i Sheet3 jeden po drugim (nadal trzymając klawisz Control).

Przytrzymując klawisz Control, Excel pozwoliłby mi wybrać wiele arkuszy za jednym razem. Gdy skończę wybierać żądane arkusze, mogę zostawić klawisz kontrolny. teraz mogę kliknąć prawym przyciskiem myszy dowolną z wybranych kart arkuszy i kliknąć Usuń.

Pamiętaj, że nie możesz usunąć wszystkich arkuszy ze skoroszytu w programie Excel. w skoroszycie zawsze musi znajdować się co najmniej jeden arkusz. jeśli spróbujesz usunąć wszystkie arkusze (lub jedyny aktywny arkusz), zobaczysz monit z informacją, że nie możesz tego zrobić

Skróty klawiaturowe do usuwania arkuszy roboczych

Istnieje nie jeden, ale dwa i pół skróty klawiaturowe, których można używać do usuwania arkuszy w programie Excel.

Mówię dwa i pół, ponieważ jednym ze skrótów używa myszy i klawiatury (i nadal jest to szybszy sposób)

Hybrydowy skrót klawiaturowy do usuwania arkusza

Kliknij prawym przyciskiem myszy + D

Aby usunąć wybrany arkusz lub arkusze, kliknij prawym przyciskiem myszy, a następnie naciśnij klawisz D na klawiaturze.

Osobiście uważam, że jest to o wiele szybsze niż zwykłe usuwanie arkusza za pomocą myszy (jak omówiłem w powyższej sekcji)

Zwykły skrót klawiaturowy do usuwania arkusza

ALT + H + D + S

Jeśli wolisz zrezygnować z myszy i używać tylko klawiatury, powyższy skrót klawiaturowy usunie aktywny arkusz lub wybrane arkusze.

Musisz naciskać te klawisze po kolei (tj. jeden po drugim)

Chociaż może to wyglądać na nieco dłuższy skrót klawiaturowy, gdy się do niego przyzwyczaisz, jest tak samo szybki, jak każda inna technika opisana w tym samouczku

Starszy skrót klawiaturowy do usuwania arkuszy roboczych

Jak wszyscy inni, Excel również ma przeszłość i nie jest tak ładna. Mówię o erze stylu sprzed wstążki.

Ze względu na zgodność program Excel nadal zezwala na działanie niektórych starych skrótów klawiaturowych w nowszych wersjach. w wielu przypadkach te wcześniejsze skróty są krótsze i lepsze.

Na szczęście istnieje starszy skrót klawiaturowy, który działa w celu usuwania arkuszy roboczych w programie Excel

ALT + E + L

Usuwanie ActiveSheet za pomocą VBA

Jeśli chodzi o usuwanie jednego arkusza lub kilku arkuszy, lepiej skorzystać z wyżej wymienionych metod.

Chociaż VBA może zautomatyzować proces, jego użyteczność pojawia się, gdy trzeba wielokrotnie powtarzać zadanie.

Jak zobaczysz, dzięki VBA możesz zrobić znacznie więcej, jeśli chodzi o usuwanie arkuszy kalkulacyjnych w programie Excel.

Zabiorę Cię więc do bardziej zaawansowanych przypadków użycia, ale wcześniej zobaczmy, jak po prostu usunąć aktywny arkusz roboczy za pomocą VBA.

Poniżej znajduje się kod VBA, który usunie aktywny arkusz:

Sub DeleteSheet() ActiveSheet.Delete Koniec Sub

Jeśli używasz go w bezpośrednim oknie, możesz po prostu użyć poniższej linii:

Aktywny arkusz.Usuń

Gdy użyjesz powyższego kodu do usunięcia aktywnego arkusza, program Excel wyświetli monit, w którym musisz kliknąć przycisk Usuń, aby potwierdzić akcję.

Usuwanie arkusza bez wyświetlania monitu o potwierdzenie

Okno komunikatu z prośbą o potwierdzenie jest przydatną funkcją, która zapewnia, że ​​masz szansę na anulowanie usunięcia arkusza w przypadku przypadkowego/błędnego uruchomienia kodu

Ale jeśli już wiesz, co robisz, otrzymanie tego monitu może być dość irytujące.

więc oto kod VBA, który upewniłby się, że arkusze zostaną usunięte, ale nie zobaczysz żadnego okna komunikatu z prośbą o potwierdzenie.

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

W powyższym kodzie ustawiłem właściwość Application.DisplayAlerts na false, co oznacza, że ​​Excel nie będzie wyświetlał żadnych alertów wyświetlania podczas działania kodu.

Bardzo ważne jest również, aby upewnić się, że na końcu kodu przywrócisz wartość true, aby przywrócić funkcjonalność (jak widać, zrobiłem w powyższym kodzie).

Przestroga: Po ustawieniu właściwości Application.DisplayAlerts na wartość false program Excel po prostu usunie arkusz i nie będzie możliwości jego odzyskania. więc radzę zrobić kopię zapasową przed użyciem tego rodzaju kodu.

Usuwanie arkusza według nazwy (jeśli istnieje) za pomocą VBA

VBA pozwala zautomatyzować proces usuwania określonego arkusza roboczego (na wielu arkuszach) na podstawie nazwy arkusza.

Na przykład, jeśli masz arkusz roboczy o nazwie „Sprzedaż”, możesz użyć poniższego kodu, aby go usunąć:

Sub DeleteSheetByName() Sheets("Sprzedaż").Delete End Sub

Ten kod usunie tylko arkusz o nazwie Sales.

Jest to przydatne, gdy masz skoroszyt z dużą ilością arkuszy i nie chcesz przesiewać wszystkich arkuszy roboczych, znajdź ten z nazwą sprzedaż i usuń go ręcznie.

Przy powyższym kodzie nie ma znaczenia, ile arkuszy znajduje się w skoroszycie, po prostu usunie arkusz sprzedaży.

A ponieważ nie zmieniłem właściwości Application.DisplayAlert, zobaczysz monit, w którym musiałbyś kliknąć przycisk usuwania, aby potwierdzić czas trwania arkusza sprzedaży.

Jeśli chcesz usunąć wiele arkuszy na podstawie ich nazwy, możesz to również zrobić.

Na przykład poniższy kod usunie arkusze o nazwach Sprzedaż, Marketing, Finanse:

Sub DeleteSheetsByName() Sheets("Sprzedaż").Delete Sheets("Marketing").Delete Sheets("Finanse").Delete End Sub

Usuwanie wszystkich arkuszy z wyjątkiem aktywnego arkusza za pomocą VBA

Jeśli masz skoroszyt z wieloma arkuszami roboczymi i chcesz usunąć wszystkie arkusze z wyjątkiem aktywnego arkusza, VBA jest prawdopodobnie jedną z lepszych metod, aby to zrobić.

Poniżej znajduje się kod VBA, który usunie wszystkie arkusze z wyjątkiem aktywnego arkusza w skoroszycie.

Sub DeleteSheetByName() Dim ws As Worksheet Application.DisplayAlerts = False For Each ws In Sheets If ws.Name ActiveSheet.Name Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub

Zauważ, że powiedziałem, że właściwość Application.DisplayAlerts przypada na początek kodu, ponieważ nie chcę widzieć monitu dla każdego usuniętego arkusza.

Usuń wszystkie arkusze z określonym ciągiem tekstowym w nazwie

Jest to nieco bardziej zaawansowany przypadek użycia efektywnego używania VBA podczas usuwania arkuszy.

Załóżmy, że masz skoroszyt z wieloma różnymi arkuszami i chcesz usunąć wszystkie arkusze, które zawierają określony ciąg tekstowy, możesz to łatwo zrobić za pomocą VBA.

Na przykład poniżej mam skoroszyt, w którym chcę usunąć wszystkie arkusze robocze zawierające ciąg tekstowy „Sprzedaż”.

Poniżej znajduje się kod VBA, który by to zrobił:

Sub DeleteSheetByName() Dim ws As Worksheet Application.DisplayAlerts = False For Each ws In Sheets If ws.Name Like "*" & "Sales" & "*" Then MsgBox ws.Name ws.Delete End If Next ws Application.DisplayAlerts = Prawdziwy koniec Sub

Powyższy kod używa instrukcji if-then do przechodzenia przez wszystkie arkusze w skoroszycie. Sprawdza nazwę wszystkich tych arkuszy roboczych i jeśli nazwa zawiera słowo „Sprzedaż”, arkusz ten jest usuwany.

Jeśli chcesz zmienić kod i poszukać innego ciągu tekstowego, możesz to zmienić w piątym wierszu powyższego kodu.

Zauważ również, że użyłem gwiazdki (*), która jest znakiem wieloznacznym, po obu stronach ciągu tekstowego, którego szukamy w nazwie arkusza roboczego. Gwarantuje to, że niezależnie od tego, gdzie w nazwie arkusza pojawia się ciąg, zostanie on usunięty.

Możesz także zmodyfikować kod, aby upewnić się, że usuwane są tylko te arkusze, w których ciąg tekstowy pojawia się na początku nazwy arkusza.

Na przykład, jeśli chcesz usunąć te arkusze, w których na początku pojawia się termin sprzedaż, użyj następującego kodu w piątym wierszu.

Jeśli ws.Name Jak "*" & "Sprzedaż" & "*" Wtedy

Tutaj użyłem znaku wieloznacznego tylko po napoju tekstowym, a nie przed nim. Dzięki temu podczas sprawdzania nazw arkusza roboczego tylko te spełniają kryteria, w których słowo „Sprzedaż” znajduje się na początku nazwy.

Oto niektóre z metod, których możesz użyć, gdy chcesz usunąć arkusze w programie Excel. W większości przypadków możesz to łatwo zrobić bezpośrednio w arkuszu, używając myszy lub skrótu klawiaturowego.

Ale jeśli masz ciężki skoroszyt z dużą ilością arkuszy i chcesz szybko usunąć określone rodzaje arkuszy, możesz również użyć VBA.

Mam nadzieję, że ten samouczek okazał się przydatny.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave