Ten samouczek nauczy Cię, jak usunąć lub wyczyścić arkusz roboczy za pomocą VBA.
Usuń arkusz roboczy
Użyj polecenia Usuń, aby usunąć arkusz.
Usuń arkusz według nazwy
1 | Arkusze("Arkusz1").Usuń |
Usuń arkusz roboczy według numeru indeksu
Ten kod usuwa pierwszy arkusz w skoroszycie:
1 | Arkusze(1).Usuń |
Ten kod usuwa ostatni arkusz w skoroszycie:
1 | Arkusze (Arkusze. Liczba). Usuń |
Usuń arkusz roboczy bez monitu
Podczas próby usunięcia arkusza kalkulacyjnego program Excel poprosi o potwierdzenie działania:
Możesz wyłączyć te monity (alerty), przełączając DisplayAlerts:
123 | Application.DisplayAlerts = FalseArkusze("Arkusz1").UsuńApplication.DisplayAlerts = Prawda |
Usuń arkusz, jeśli istnieje
Jeśli spróbujesz usunąć arkusz, który nie istnieje, VBA wygeneruje błąd. Z On Error Resume Next możesz powiedzieć VBA, aby usunął arkusz, jeśli istnieje, w przeciwnym razie przejdź do następnego wiersza kodu:
123 | Przy błędzie Wznów DalejArkusze("Arkusz1").UsuńW przypadku błędu Przejdź do 0 |
Możesz również skorzystać z naszej funkcji RangeExists, aby sprawdzić, czy arkusz istnieje, a jeśli tak, to go usunąć.:
123 | Jeśli RangeExists("Arkusz1") WtedyArkusze("Arkusz1").UsuńZakończ, jeśli |
Wyczyść arkusz
Ten kod wyczyści cały arkusz treści, formaty i wszystko inne:
1 | Arkusze("Arkusz1").Komórki.Wyczyść |
Wyczyść zawartość arkusza
Ten kod wyczyści całą zawartość arkusza. Pozostawi formatowanie, komentarze i wszystko inne w spokoju:
1 | Arkusze("Arkusz1").Cells.ClearContents |
Wyczyść używany zakres arkuszy
Powyższe przykłady wyczyszczą WSZYSTKIE komórki w arkuszu. W przypadku dużych arkuszy może to być bardzo czasochłonne. Jeśli zamiast tego użyjesz UsedRange, VBA wyczyści tylko "używane" komórki zawierające wartości, formaty itp.
1 | Arkusze("Arkusz1").UsedRange.Clear |