Wyczyść zawartość VBA

Wyczyść zawartość Excel VBA

Wyczyść zawartość to metoda w VBA, która służy do usuwania lub usuwania wartości przechowywanych w dostarczonych do niej komórkach, ta metoda sprawia, że ​​zakres komórek jest pusty i jest używana z właściwością range, aby uzyskać dostęp do określonego zakresu komórek, przykład Aby użyć tej metody, jest następujący zakres („A1: B2”): ClearContents ta metoda wyczyści zawartość komórek od A1 do B2.

W programie Excel dodawanie i usuwanie danych jest częstym rutynowym zadaniem. Czasami usuwamy wartość pojedynczej komórki, czasami wiele wartości komórek, a czasami możemy wymagać usunięcia całej zawartości arkusza. W tym artykule pokażemy, jak używać metody „Wyczyść zawartość” w Excel VBA. W VBA mamy na to wiele metod, takich jak „Wyczyść”, „Usuń” i „Wyczyść zawartość”.

Co to jest przejrzysta zawartość w Excel VBA?

Zanim opowiem o Clear Contents w VBA, pokażę, jak możemy usunąć lub wyczyścić dane w określonym zakresie.

Na przykład spójrz na poniższe dane.

Teraz, jeśli chcę wyczyścić komórkę od A1 do C3, musimy najpierw wspomnieć o zakresie komórek używających obiektu VBA RANGE.

Kod:

Zakres („A1: C3”)

Po wskazaniu zakresu komórek za pomocą obiektu RANGE należy wybrać metodę „Clear”, aby usunąć wzmiankę o wartościach komórek.

Kod:

Zakres („A1: C3”). Wyczyść

Spowoduje to usunięcie wspomnianych wartości komórek.

Kod:

 Sub Clear_Example () Range („A1: C3”). Clear End Sub 

Oprócz metody clear możemy również skorzystać z metody „DELETE”.

Kod:

Zakres („A1: C3”). Usuń

Spowoduje to usunięcie wspomnianych wartości komórek, tak jak zrobiła to nasza metoda czyszczenia.

Jeśli chcesz usunąć wszystkie dane komórki, możesz użyć właściwości VBA CELLS z nazwą arkusza.

Arkusze („Arkusz1”). Komórki. Usuń
Arkusze robocze („Arkusz1”). Komórki. Wyczyść

Oba powyższe kody usuwają wszystkie dane z arkusza „Arkusz1”. Spowoduje to usunięcie wartości komórek bezpośrednio z pierwszej komórki do ostatniej komórki arkusza.

Jeśli chcesz usunąć obecne komórki arkusza, możesz użyć obiektu Active Sheet.

ActiveSheet.Cells.Delete lub ActiveSheet.Cells.Clear

Różnica między metodami Clear i Delete

Wiem, że to pytanie powinno już być w twoim umyśle.

Tak, istnieje różnica między tymi dwiema metodami.

Użycie metody „Usuń” spowoduje usunięcie komórki, a komórka poniżej przejmie pozycję usuniętej komórki.

Jako przykład spójrz na poniższy obrazek.

Teraz użyję metody delete, aby usunąć komórkę A1.

Kod:

 Sub Clear_Example () Range („A1”). Delete End Sub 

Uruchomię ten kod i zobaczę, co się stanie.

Zobacz, co się tutaj stało, jak powiedziałem, kiedy usunąłem komórkę A1, jest ona usuwana, ale komórka A2 przesuwa się o jedną komórkę w górę i zajmuje usuniętą komórkę. Doprowadzi to do niedopasowania danych. Dlatego zachowaj ostrożność podczas korzystania z metody Delete.

Teraz dla tych samych danych wyczyszczę metodę.

Kod:

 Sub Clear_Example () Range („A1”). Clear End Sub 

Teraz zobacz, co się stanie, gdy uruchomię ten kod.

Ten kod właśnie opuścił komórkę A1 bez zmiany innych komórek. To wygląda na właściwą metodę usuwania tylko części komórek z całego zakresu danych.

Użyj metody VBA Clear Contents, aby zachować formatowanie komórek

Jeśli zaobserwowałeś poprzednie dwie metody, te dwie metody nie tylko usunęły lub wyczyściły dostarczone komórki. Usunął również formatowanie udostępnionych przez nas komórek.

Aby zachować formatowanie komórek, nie musimy używać ani „Usuń”, ani „Wyczyść”, ale musimy użyć metody VBA „Wyczyść zawartość”.

W momencie, gdy wprowadzisz zakres komórek za pomocą obiektu RANGE, zostaną wyświetlone wszystkie właściwości i metody z nim powiązane.

Mamy dostęp do „Usuń”, możemy uzyskać dostęp do „Wyczyść”, a także do metod „ClearContents”.

Wybierz tę metodę.

Kod:

 Sub Clear_Example () Range („A1: C3”). ClearContents End Sub 

Teraz wyczyści to zawartość z komórki A1 do C3, ale będziemy mieć całe istniejące formatowanie bez zmian.

Jak widać na powyższym obrazku, mamy kolor komórki w VBA, obramowania i każde formatowanie związane z tymi wspomnianymi komórkami.

Podobnie możemy wyczyścić zawartość innych arkuszy.

Arkusze („Sheet1”). Zakres („A1: D10”). ClearContents

Spowoduje to wyczyszczenie zawartości komórek od A1 do D10 w arkuszu „Arkusz1”.

Podobnie możemy również usunąć inne otwarte komórki skoroszytu.

Skoroszyty („Książka1.xlsx”). Arkusze („Arkusz1”). Zakres („A1: D10”). Wyczyść treść

Przejrzyj wszystkie arkusze i wyczyść zawartość określonego zakresu

Załóżmy, że masz wiele arkuszy w skoroszycie i chcesz usunąć zakres komórek od A1 do C15 ze wszystkich arkuszy, których potrzebujemy, aby to zrobić, używając For Each Loop w VBA.

Poniższy kod wykona zadanie.

Kod:

 Sub Clear_All () Dim Ws As Worksheet For each Ws In ActiveWorkbook.Worksheets Ws.Range ("A1: C15"). ClearContents Next Ws End Sub 

Uwaga: możesz zmienić zakres komórek według własnego uznania.

Na wszelki wypadek, jeśli chcesz wyczyścić całe dane arkusza roboczego, musisz użyć poniższego kodu.

Kod:

 Sub Clear_All () Dim Ws As Worksheet For each Ws In ActiveWorkbook.Worksheets Ws.Cells.ClearContents Next Ws End Sub 

Możesz pobrać ten szablon VBA Clear Contents Excel tutaj - szablon VBA Clear Contents