Vba: jak uzyskać unikalne wartości z kolumny


Możesz użyć funkcji AdvancedFilter w VBA, aby szybko uzyskać listę unikalnych wartości z kolumny w Excelu.

Oto typowy sposób:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Ten konkretny przykład wyodrębnia listę unikalnych wartości z zakresu A1:A11 i wyświetla je z komórki E1 .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Uzyskaj unikalne wartości z kolumny za pomocą VBA

Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:

Załóżmy, że chcemy wyodrębnić listę unikalnych wartości z kolumny Zespół .

W tym celu możemy utworzyć następujące makro:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Kolumna E wyświetla teraz listę unikalnych wartości z kolumny Zespół w oryginalnym zbiorze danych.

Należy pamiętać, że w metodzie AdvancedFilter wielkość liter nie jest uwzględniana.

Na przykład, gdybyśmy mieli nazwy zespołów „MAVS” i „Mavs” w tej samej kolumnie, to konkretne makro zwróciłoby tylko pierwszą z dwóch wartości pojawiających się w kolumnie Zespół , ponieważ mają one dokładnie te same znaki.

Uwaga : Pełną dokumentację metody AdvancedFilter w VBA znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak liczyć komórki zawierające określony tekst
VBA: Jak policzyć liczbę wierszy w zakresie
VBA: Jak policzyć unikalne wartości w zakresie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *