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