Я знаю, что я могу проверить количество строк в ListObject с помощью:Проверить количество видимых строк в listobject?
loSättOmdömen.listRows.Count
Но есть ли способ я могу проверить количество видимых строк ListObject?
Я знаю, что я могу проверить количество строк в ListObject с помощью:Проверить количество видимых строк в listobject?
loSättOmdömen.listRows.Count
Но есть ли способ я могу проверить количество видимых строк ListObject?
Единственный способ, которым я мог думать о том, что был устойчив к колонны прячась, а также (это довольно обычно для столбцов, которые будут сгруппированы и разрушилась, так это должно быть обработано), должен был использовать цикл:
'mode = 0 for Cells, >0 for Rows, <0 for Columns
Function getListObjectVisibleCount(lo As ListObject, Optional mode As Integer = 0) As Long
Dim visCnt As Long, area As Range
On Error Resume Next 'special cells raises an error if nothing is found
For Each area In lo.DataBodyRange.SpecialCells(xlCellTypeVisible).Areas
If mode = 0 Then
visCnt = visCnt + area.Columns.Count * area.Rows.Count
ElseIf mode > 0 Then
visCnt = visCnt + area.Rows.Count
Else
visCnt = visCnt + area.Columns.Count
End If
Next
On Error Goto 0
getListObjectVisibleCount = visCnt
End Sub
Редактировать: изменено с демо Sub на функцию. Возвращает количество ячеек, количество строк или количество столбцов.
Спасибо, очень надежный! – user1283776
вышеуказанная функция не работает, если я передаю ей таблицу listobject «tab_data» на листе. = getListObjectVisibleCount (tab_data) – sifar786