Wyczyść zawartość VBA - Jak wyczyścić lub usunąć zawartość za pomocą kodu 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 typową rutynową czynnością. Czasami usuwamy pojedynczą wartość 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 języku VBA mamy do tego wiele metod, takich jak „Wyczyść”, „Usuń” i „Wyczyść zawartość”.

Co to jest przejrzysta zawartość w Excel VBA?

Zanim opowiem o Clear Contents w VBA, pozwól mi pokazać, 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, musimy 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 („Arkusz1”). Komórki Wyczyść

Oba powyższe kody spowodują usunięcie wszystkich danych 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.

Na 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.

Spójrz, co się tutaj stało; jak powiedziałem, kiedy usunąłem komórkę A1, jest ona usuwana, ale komórka A2 przenosi jedną komórkę w górę i zajmuje usuniętą komórkę. Doprowadzi to do niezgodności 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. Wygląda na to, że jest to odpowiednia metoda 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 dostarczonych 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, pokaże wszystkie właściwości i metody z nim powiązane.

Możemy uzyskać 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 usunie 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 we wszystkich arkuszach, 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.

Interesujące artykuły...