确定范围内的行数

时间:2020-03-06 14:32:12  来源:igfitidea点击:

我知道列表" 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

我确定我们可能想要@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

我们还可以使用:

Range( RangeName ).end(xlDown).row

查找最后一行中包含数据的行(从我们指定的范围开始)。

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