确定范围中的行数

Spy*_*nal 17 excel vba excel-vba

我知道列表开头的范围名称 - 1列宽和x行深.

我该如何计算x

列中的数据多于此列表中的数据.但是,此列表是连续的 - 在其上方或下方或旁边的任何单元格中都没有任何内容.

小智 56

Sheet1.Range("myrange").Rows.Count
Run Code Online (Sandbox Code Playgroud)


GSe*_*erg 11

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
Run Code Online (Sandbox Code Playgroud)

但如果你确定列表中没有任何内容,那么就是 thisworkbook.Names(FirstCellName).RefersToRange.CurrentRegion.rows.count


小智 8

为什么不使用Excel公式来确定行?例如,如果要查找列A中包含数据的单元数,请使用以下命令:

= COUNTIFS(A:A, "<>")

您可以将<>替换为任何值,以获取其中包含该值的行数.

= COUNTIFS(A:A, "2008")

这也可以用于连续查找填充的单元格.


Jon*_*ier 5

您还可以使用:

Range( RangeName ).end(xlDown).row
Run Code Online (Sandbox Code Playgroud)

从命名范围开始查找包含数据的最后一行.