如何用数据计算Excel中的行数?

列A具有这样的数据(即频繁的空白单元格):


HEADING  <-- this is A1

kfdsl

fdjgnm

fdkj


gdfkj

4353


fdjk  <-- this is A9

我希望能够获得具有数据的最后一个单元格的单元格引用。因此,在上面的示例中,我想返回:A9


我已经试过了,但是它停在第一个空白单元格(即返回A4)


numofrows = destsheet.Range("A2").End(xlDown).Row - 1


幕布斯7119047
浏览 1732回答 3
3回答

冉冉说

我喜欢这样:ActiveSheet.UsedRange.Rows.Count列数也可以这样做。对我来说,永远工作。但是,如果您在另一列中有数据,那么上面的代码也会考虑它们,因为该代码正在查找工作表中的所有单元格范围。

SMILET

最安全的选择是Lastrow =&nbsp; Cells.Find("*", [A1], , , xlByRows, xlPrevious).RowLastcol =&nbsp; Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column不要使用UsedRange或SpecialCells(xlLastCell)或End(xlUp)。如果您以前删除了一些行,所有这些方法可能会导致错误的结果。Excel仍会计算这些不可见的单元格。如果您删除单元格,保存工作簿,关闭然后重新打开,这些方法将再次起作用。

白猪掌柜的

这将独立于Excel版本(2003、2007、2010)运行。前一张纸有65536行,而后两张纸则有大约一百万行。Sheet1.Rows.Count根据版本返回此数字。numofrows = Sheet1.Range("A1").Offset(Sheet1.Rows.Count - 1, 0).End(xlUp).Row或同等但较短numofrows = Sheet1.Cells(Sheet1.Rows.Count,1).End(xlUp)这将从列A的底部向上搜索第一个非空单元格,并获取其行号。如果您在其他列中有更深的数据,这也可以使用。因此,例如,如果您获取示例数据并在单元格FY4763中写了一些内容,则上面的内容仍将正确返回9(而不是4763,涉及该UsedRange属性的任何方法均会错误地返回)。请注意,实际上,如果要使用单元格引用,则应使用以下内容。您不必先获取行号,然后构建单元格引用。Set rngLastCell = Sheet1.Range("A1").Offset(Sheet1.Rows.Count - 1, 0).End(xlUp)请注意,此方法在某些情况下会失败:最后一行包含数据最后一行被隐藏或过滤掉因此,请注意,如果您打算将1,048,576行用于这些操作!
打开App,查看更多内容
随时随地看视频慕课网APP