Определить количество строк в диапазоне [закрыто]

StackOverflow https://stackoverflow.com/questions/114493

  •  02-07-2019
  •  | 
  •  

Вопрос

Я знаю имя диапазона начала списка - 1 столбец шириной и x ряды глубокие.

Как мне рассчитать x?

В столбце больше данных, чем только этот список.Однако этот список является непрерывным — ни в одной из ячеек выше, ниже или по обе стороны от него ничего нет.

Это было полезно?

Решение

Function ListRowCount(ByVal FirstCellName as String) as Long
    With thisworkbook.Names(FirstCellName).RefersToRange
        If isempty(.Offset(1,0).value) Then 
            ListRowCount = 1
        Else
            ListRowCount = .End(xlDown).row - .row + 1
        End If
    End With
End Function

Но если вы чертовски уверены, что в списке ничего нет, то просто thisworkbook.Names(FirstCellName).RefersToRange.CurrentRegion.rows.count

Другие советы

Sheet1.Range("myrange").Rows.Count

Почему бы не использовать формулу Excel для определения строк?Например, если вы ищете, сколько ячеек содержит данные в столбце A, используйте это:

=СЧЁТЕСЛИ(А:А,"<>")

Вы можете заменить <> любым значением, чтобы узнать, сколько строк содержит это значение.

=СЧЁТЕСЛИ(А:А,"2008")

Это также можно использовать для поиска заполненных ячеек подряд.

Вы также можете использовать:

Range( RangeName ).end(xlDown).row

чтобы найти последнюю строку с данными, начиная с вашего именованного диапазона.

Я уверен, что вам, вероятно, нужен ответ, который дал @GSerg.Существует также функция рабочего листа, называемая rows это даст вам количество строк.

Итак, если у вас есть именованный диапазон данных, называемый Data там 7 строк, тогда =ROWS(Data) покажет 7 в этой ячейке.

Эта последняя строка сработала отлично @GSerg.

Я работал над другой функцией, но мне не нравится прибегать к UDF без крайней необходимости.

Я пробовал комбинацию Excel и VBA, и это заработало, но это неуклюже по сравнению с вашим ответом.

strArea = Sheets("Oper St Report CC").Range("cc_rev").CurrentRegion.Address
cc_rev_rows = "=ROWS(" & strArea & ")"
Range("cc_rev_count").Formula = cc_rev_rows
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top