Страницы: 1
RSS
Функция подсчёта уникальных значений в фильтрованном диапазоне (Excel VBA)
 
Добрый день.

Пожалуйста, посмотрите на приложенный код.
Как можно его подправить, чтобы ф-ция подсчитывала кол-во уникальных значений именно в фильтрованном диапазоне.
На данный момент ф-ция считает все уникальные значения в заданном диапазоне.
Код
Public Function CountZZZ(Area As Range) As Double
Dim rCell As Range
Dim Unique As New Collection
On Error Resume Next
    
    For Each rCell In Area
        If Not IsEmpty(rCell) Then Unique.Add rCell.Value, CStr(rCell.Value)
    Next
    
CountZZZ = Unique.Count
End Function

Может добавить доп переменную, в таком виде?
Set Area1 =Area.SpecialCells(xlCellTypeVisible)
 
Доброе время суток.
Можно добавить проверку на видимость строки текущей ячейки
Код
rCell.EntireRow.Hidden
 
Андрей VG, cпасибо Вам большое.
рабочий код:
Код
Public Function CountZZZ(Area As Range) As Double
Dim rCell As Range
Dim Unique As New Collection
On Error Resume Next
    
    For Each rCell In Area
    If Not IsEmpty(rCell) And Not rCell.EntireRow.Hidden Then Unique.Add rCell.Value, CStr(rCell.Value)
 Next
    
CountZZZ = Unique.Count
End Function
Страницы: 1
Наверх