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 ExcelPrzykł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 -
- Praca z VBA Active Cell
- Usuwanie wiersza w VBA
- Jak korzystać z transpozycji Excel VBA?
- Jak naprawić błąd 1004 przy użyciu VBA