Policz unikalne wartości za pomocą VBA w programie Microsoft Excel 2010

Anonim

W tym artykule stworzymy niestandardową funkcję do zliczania unikalnych wartości w zdefiniowanym zakresie.

Surowe dane dla tego przykładu składają się z liczb losowych w wierszach. W tym przykładzie chcemy policzyć liczbę unikalnych liczb w każdym wierszu.

Stworzyliśmy niestandardową funkcję „CountUniqueValues”, aby znaleźć liczbę unikalnych liczb w rzędzie. Ta funkcja przyjmuje jako dane wejściowe zakres i zwraca unikalną liczbę liczb.

Wyjaśnienie logiczne

Stworzyliśmy niestandardową funkcję „CountUniqueValues”, aby uzyskać liczbę unikalnych liczb. W tej niestandardowej funkcji stworzyliśmy obiekt obiektu kolekcji. Ten obiekt kolekcji służy do tworzenia listy unikalnych numerów. Gdy mamy już listę unikalnych numerów, otrzymujemy liczbę elementów w kolekcji.

Wyjaśnienie kodu

Application.Volatile jest używany, ponieważ zostanie ponownie obliczona za każdym razem, gdy wartość komórki zostanie zmieniona w skoroszycie.

On Error Resume Next służy do obsługi błędów.

Proszę postępować zgodnie z poniższym kodem!

 Opcja Funkcja jawna CountUniqueValues(InputRange As Range) As Integer Dim CellValue As Variant, UniqueValues ​​As New Collection Application.Volatile 'W przypadku obsługi błędów po błędzie Wznów Dalej 'Przechodzenie w pętlę przez wszystkie komórki w zdefiniowanym zakresie For Each CellValue In InputRange UniqueValues.Add CellValue , CStr(CellValue) ' dodaj unikalny element Next 'Zwracanie liczby unikalnych wartości CountUniqueValues ​​= UniqueValues.Count Funkcja końcowa 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail