Страницы: 1
RSS
Число видимых строк заданного диапазона
 
Добрый день!

Есть диапазон, в котором есть данные. Данные фильтруются, соответственно строки скрываются. Вот и нужно посчитать количество видимых строк. У меня получается посчитать только общее количество строк, с учётом скрытых.

Заранее спасибо!
 
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ
 
Прошу прощения за некорректную формулировку вопроса.
Прошу указать, как это можно реализовать с помощью vba.
 
Цитата
yegorovaleks написал: нужно посчитать количество видимых строк... реализовать с помощью vba
UDF, аргумент функции - диапазон ячеек
Код
Function СЧЁТ_В(диапазон As Range) As Integer
Dim rw As Range
    For Each rw In диапазон.Rows
        If rw.EntireRow.Hidden <> True Then S = S + 1
    Next
СЧЁТ_В = S
End Function
Согласие есть продукт при полном непротивлении сторон
 
Если строки скрыты автофильтром, а не как в примере
Код
Dim a As Range, n&
With ActiveSheet.AutoFilter.Range
  .EntireColumn.Hidden = False
  For Each a In .SpecialCells(xlCellTypeVisible).Areas
    n = n + a.Rows.Count
  Next
End With
n = n - 1 'заголовок
 
Доработал. Теперь можно с помощью сообщения получать количество строк в диапазоне.
Спасибо всем!
Код
Sub количество_видимых_строк_в_диапазоне()
    Dim i As Range, n As Integer
    Set i = Range("a2:a5")
    n = СЧЁТ_В(i)
    MsgBox n
End Sub
Страницы: 1
Наверх