RemoveDuplicates w VBA Excel
W programie Excel często nie są wymagane zduplikowane wartości, zwłaszcza gdy liczy się unikatowe wartości. Zwykle mamy inny zestaw danych do pracy i widzimy w nim kilka zduplikowanych wartości.
Mam nadzieję, że znasz usuwanie duplikatów w arkuszu programu Excel, jeśli nie ma się co martwić, pokażemy Ci prosty przykład. W VBA również możemy wykonać metodę usuwania duplikatów.
Dlatego usunięto wszystkie zduplikowane wartości nagłówka „Region”. Podobnie możemy wykonać to zadanie za pomocą kodu VBA.
Jak usunąć zduplikowane wartości w kodowaniu VBA?
Aby najpierw usunąć zduplikowane wartości, musimy wspomnieć o zakresie, do którego się odnosimy, a następnie możemy uzyskać dostęp do metody „Remove Duplicates”. Zatem składnia będzie następująca.
[Kolumna]: W której kolumnie zaznaczenia musimy usunąć duplikaty? Musimy wspomnieć o numerze kolumny z wybranego zakresu.
[Nagłówek]: wybrany zakres zawiera nagłówki lub nie. Mamy tutaj trzy opcje do wykorzystania.
- xl Tak: Jeśli dane mają nagłówki, możesz to wybrać.
- xlNo: Jeśli dane nie mają nagłówków, możesz to wybrać.
- xlGuess: Ta opcja pozwoli programowi Excel odgadnąć nagłówki danych.
Dzięki tym parametrom możemy usuwać duplikaty jednym kliknięciem przycisku, nie przerywając nam potu.
W poniższej sekcji pokażę kilka przykładów usuwania duplikatów w języku VBA. Postępuj zgodnie z instrukcjami, aby samodzielnie napisać kod.
Przykłady usuwania zduplikowanych wartości w kodowaniu VBA
Poniżej znajdują się przykłady Usuń duplikaty w wartościach VBA.
Usunięte powtórzenia VBA - przykład nr 1
Weź pod uwagę poniższe dane również dla tego przykładu.
Z powyższych danych musimy usunąć duplikaty kolumny „Region”, więc wykonaj poniższe czynności, aby napisać kod.
Krok 1: Rozpocznij podprocedurę, nadając nazwę kodowi makra.
Krok 2: Wspomnij o zakresie danych, używając obiektu VBA Range .
Kod:
Sub Remove_Duplicates_Example1 () Range („A1: C9”). Napis końcowy
Krok 3: Po wspominaniu o dostępie do zakresu metody VBA „ RemoveDuplicates ”.
Kod:
Sub Remove_Duplicates_Example1 () Range („A1: C9”). RemoveDuplicates End Sub
Krok 4: Pierwszy argument, w której kolumnie musimy usunąć zduplikowane wartości. W tym przykładzie z pierwszej kolumny musimy usunąć duplikaty.
Kod:
Sub Remove_Duplicates_Example1 () Range („A1: C9”). RemoveDuplicates Columns: = 1, End Sub
Krok 5: Następną rzeczą jest to, czy dane mają nagłówki, czy nie. W tym przypadku mamy nagłówki, więc wybierz „xlYes”.
Kod:
Sub Remove_Duplicates_Example1 () Range („A1: C9”). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub
Uruchom ten kod, a VBA usunie duplikaty z wybranego regionu.
To jest wyraźny sposób odniesienia się do zakresu komórek. Jeśli chcesz samodzielnie wybrać zakres, a następnie usunąć duplikaty, musimy użyć zmiennej do pracy. W poniższym przykładzie pokażę, jak używać zmiennych w VBA.
Usunięto duplikaty VBA - przykład nr 2
W powyższym przykładzie podaliśmy konkretnie zakres komórek. Teraz zobaczymy, jak pracować z wyborem własnych komórek.
Na przykład mam kilka zestawów danych, jak pokazano na poniższym obrazku.
Za każdym razem nie mogę jawnie określić zakresu komórek, więc przypiszemy zaznaczenie jako zakres.
Krok 1: Zadeklaruj zmienną jako zakres .
Kod:
Sub Remove_Duplicates_Example2 () Dim Rng As Range End Sub
Krok 2: Zakres to obiekt, ustawimy zakres jako nasz wybór.
Kod:
Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection End Sub
Krok 3: Teraz zamiast zakresu komórek możemy użyć zmiennej „ rng ”.
Kod:
Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns: = 1, Header: = xl Tak End Sub
Zanim uruchomimy kod, musimy najpierw wybrać zakres komórek, a następnie możemy usunąć duplikaty z wybranego zakresu komórek.
VBA Usuń duplikaty z wielu kolumn - przykład nr 3
Możemy również użyć VBA do usunięcia zduplikowanych wartości z kolumn programu Excel. Aby usunąć wiele kolumn, musimy użyć tablicy i podać numery kolumn.
Na przykład spójrz na przykładowy obraz danych.
Mamy zduplikowane wartości w pierwszej i czwartej kolumnie. Więc usuniemy z tych kolumn. Użyj poniższego kodu, aby VBA usunąć duplikaty.
Kod:
Sub Remove_Duplicates_Example3 () Dim Rng As Range Set Rng = Range ("A1: D9") Rng.RemoveDuplicates Columns: = Array (1, 4), Header: = xlYes End Sub
You can download this VBA Remove Duplicates Excel here. VBA Remove Duplicates Excel Template