VBA Usuń duplikaty

Program Excel ma funkcję służącą do usuwania zduplikowanych wartości z wybranych komórek, wierszy lub tabeli. Co jeśli ten proces zautomatyzujemy w VBA? Tak, proces usuwania duplikatu można zautomatyzować w VBA w formie makra. W trakcie usuwania duplikatu po zakończeniu unikatowe wartości pozostają na liście lub w tabeli. Można to zrobić za pomocą funkcji Usuń duplikaty w VBA.

Jak korzystać z Excel VBA Usuń duplikaty?

Nauczymy się korzystać z VBA Remove Duplicates z kilkoma przykładami w programie Excel.

Możesz pobrać ten VBA Usuń duplikaty szablonu Excel tutaj - VBA Usuń duplikaty szablonu Excel

Przykład # 1 - VBA Usuń duplikaty

Mamy listę liczb od 1 do 5 do wiersza 20 tylko w kolumnie A. Jak widać na poniższym zrzucie ekranu, wszystkie liczby powtarzają się wiele razy.

Teraz naszym zadaniem jest usunięcie duplikatu z listy przez VBA. W tym celu przejdź do okna VBA, naciskając klawisz F11.

W tym przykładzie zobaczymy podstawowe zastosowanie tego, jak VBA Remove Duplicates może działać dla liczb. Do tego potrzebny jest moduł.

Krok 1: Otwórz nowy moduł z menu Wstaw, które znajduje się na karcie menu Wstaw.

Krok 2: Po otwarciu napisz podkategorię VBA Usuń duplikat, jak pokazano poniżej.

Kod:

 Sub VBARemoveDuplicate1 () End Sub 

Krok 3: W procesie usuwania duplikatu najpierw musimy wybrać dane. W tym celu w VBA będziemy wybierać funkcję, dopóki nie zostanie wybrana pełna lista danych, jak pokazano poniżej.

Kod:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Wybierz End Sub 

Krok 4: Teraz wybierzemy zakres wybranych komórek lub kolumn A. Będzie się obniżał, dopóki nie znajdziemy danych w określonej kolumnie. Nie tylko do rzędu 20.

Kod:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Wybierz zakres (Selection, Selection.End (xlUp)). Wybierz End Sub 

Krok 5: Teraz wybierz zakres komórek w aktualnie otwartym arkuszu, jak pokazano poniżej. To aktywuje całą kolumnę. Wybraliśmy kolumnę A do końca.

Kod:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Wybierz zakres (Selection, Selection.End (xlUp)). Wybierz ActiveSheet.Range („A: A”). Napis końcowy 

Krok 6: Teraz użyj tutaj funkcji RemoveDuplicate. Uaktywni to polecenie usunięcia zduplikowanych wartości z sekwencji kolumn 1. Jeśli jest więcej kolumn, liczba zostanie dodana i oddzielona przecinkami w nawiasach jako (1, 2, 3, …).

Kod:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Wybierz zakres (Selection, Selection.End (xlUp)). Wybierz ActiveSheet.Range („A: A”). RemoveDuplicates Columns: = 1, End Sub 

Krok 7: Teraz użyjemy polecenia Nagłówek, który przeniesie kursor do najwyższej komórki komórki, która znajduje się głównie w nagłówku dowolnej tabeli.

Kod:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Select Range (Selection, Selection.End (xlUp)). Select ActiveSheet.Range („A: A”). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Krok 8: Teraz skompiluj kroki kodu, naciskając klawisz F8. Po zakończeniu kliknij przycisk Odtwórz, aby uruchomić kod, jak pokazano poniżej.

Jak widzimy, zduplikowany numer jest usuwany z kolumny A i pozostała jedyna unikalna liczba.

Przykład # 2 - VBA Usuń duplikaty

W tym przykładzie zobaczymy, jak usunąć zduplikowane wartości z więcej niż jednej kolumny. W tym celu rozważymy tę samą zduplikowaną listę, jak w przykładzie 1. Ale w nowy sposób dodaliśmy 2 kolejne kolumny o tych samych wartościach, jak pokazano poniżej.

To kolejna metoda z nieco innym rodzajem struktury kodu.

Krok 1: Otwórz nowy moduł w VBA i zapisz podkategorię w VBA Usuń duplikat. Jeśli to możliwe, podaj mu numer sekwencyjny, aby lepiej wybrać odpowiedni kod do uruchomienia.

Kod:

 Sub VBARemoveDuplicate2 () End Sub 

Krok 2: Najpierw wybierz pełny arkusz w VBA, jak pokazano poniżej.

Kod:

 Sub VBARemoveDuplicate2 () Cells.Select End Sub 

Krok 3: Teraz wybierz aktualnie otwarty arkusz za pomocą polecenia ActiveSheet i wybierz kolumny od A do C, jak pokazano poniżej.

Kod:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range („A: C”). Napis końcowy 

Krok 4: Teraz wybierz polecenie RemoveDuplicates, a następnie wybierz tablicę kolumn od 1 do 3, jak pokazano poniżej.

Kod:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Columns: = Array (1, 2, 3), End Sub 

Krok 5: Przy ostatnim użyciu polecenie Header, które ma zostać uwzględnione w procesie usuwania duplikatów jako xl Tak, jak pokazano poniżej.

Kod:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Columns: = Array (1, 2, 3), Header: = xl Yes End Sub 

Krok 6: Teraz skompiluj cały kod i uruchom. Jak możemy zobaczyć poniżej, cały arkusz jest zaznaczony, ale zduplikowane wartości są usuwane z kolumn A, B i C, zachowując tylko unikalną liczbę.

Przykład # 3 - VBA Usuń duplikaty

Jest to kolejna metoda usuwania duplikatu, która jest najprostszym sposobem usunięcia duplikatu w VBA. W tym celu wykorzystamy dane, które widzieliśmy w przykładzie 1, a także pokazano poniżej.

Krok 1: Teraz przejdź do VBA i ponownie napisz podkategorię VBA Usuń duplikaty. Podaliśmy sekwencję każdego kodu, który pokazał, że ma odpowiednią ścieżkę.

Kod:

 Sub VBARemoveDuplicate3 () End Sub 

Krok 2: Jest to dość podobny wzorzec, który widzieliśmy w przykładzie 2, ale skrótowy sposób na napisanie kodu do usuwania duplikatów. W tym celu najpierw bezpośrednio wybierz zakres kolumny, jak pokazano poniżej. Utrzymaliśmy limit do 100 komórki w kolumnie A, zaczynając od 1, a następnie kropki (.)

Kod:

 Sub VBARemoveDuplicate3 () Range („A1: A100”). Napis końcowy 

Krok 3: Teraz wybierz polecenie RemoveDuplicates, jak pokazano poniżej.

Kod:

 Sub VBARemoveDuplicate3 () Range („A1: A100”). RemoveDuplicates End Sub 

Krok 4: Teraz wybierz kolumny A jak w poleceniu Kolumny o sekwencji 1. A następnie dołącz nagłówek wybranych kolumn, jak pokazano poniżej.

Kod:

 Sub VBARemoveDuplicate3 () Zakres („A1: A100”). RemoveDuplicates Kolumny: = 1, nagłówek: = xl Tak Koniec Sub 

Krok 5: Teraz skompiluj go, naciskając klawisz F8 i uruchom. Zobaczymy, że nasz kod usunął zduplikowane liczby z kolumn A i uzyskano tylko unikalne wartości.

Plusy VBA Usuń duplikaty

  • Przydaje się to w szybkim usuwaniu duplikatów w dowolnym zakresie komórek.
  • Jest łatwy do wdrożenia.
  • Podczas pracy na ogromnym zestawie danych, gdzie usuwanie duplikatu staje się trudne ręcznie i zawiesza się pliki, a VBA Remove Duplicates działa w ciągu sekundy, aby dać nam unikalne wartości.

Wady VBA Usuń duplikaty

  • Używanie VBA Remove Duplicates w przypadku bardzo małych danych nie jest korzystne, ponieważ można to łatwo zrobić za pomocą funkcji Usuń duplikaty dostępnej na pasku menu Dane.

Rzeczy do zapamiętania

  • Zasięg można wybrać na dwa sposoby. Po wybraniu limitu komórek, jak pokazano w przykładzie-1, a innym jest wybieranie całej kolumny do końca, jak pokazano w przykładzie-1.
  • Upewnij się, że plik jest zapisany w programie Excel z włączoną obsługą makr, co pozwoli nam używać wielokrotnie napisanego kodu bez utraty go.
  • Możesz zachować wartość funkcji Nagłówek jako Tak, ponieważ policzy ona również nagłówek podczas usuwania zduplikowanych wartości. Jeśli nie ma zduplikowanej wartości z nazwą Nazwy Nagłówków, zachowanie jej jako Nie spowoduje żadnej szkody.

Polecane artykuły

To był przewodnik po VBA Remove Duplicates. Tutaj omówiliśmy, jak korzystać z Excel VBA Remove Duplicates wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Praca z VBA Active Cell
  2. Usuwanie wiersza w VBA
  3. Jak korzystać z transpozycji Excel VBA?
  4. Jak naprawić błąd 1004 przy użyciu VBA

Kategoria: