1

我们使用代码行找到最后一行

  lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

我正在刷新我对 xlDown 的概念性理解。我参考了 Sheet1 中 B 列中的数据,如下所示。

xldown_issue1

我对 End(xlDown) 的理解是它从上到下搜索在空白单元格之前找到最后使用的单元格。它的概念可以通过按下 ctrl 来模拟。如果我们突出显示包含与空白混合的数据的列,然后按下 ctrl - 它将转到第一个空白单元格之前的单元格。在 B 列工作表 1 中按下 ctrl 到 B2,然后到 B18。但是,如果我使用以下代码片段,我会得到最后一行 1048576。

xldown_issue2

这个代码片段遵循什么逻辑?谁能解释一下,以澄清这个琐碎的问题。

4

1 回答 1

2

如果删除,您将得到相同的结果.End()

lastRow = .Cells(.Rows.Count, "B").Row

这是因为ws.Cells(ws.Rows.Count, "B")已经是B列的最后一个可能的单元格。允许调用.End()它,但什么也不做,因为无处可去。

否则你的理解是正确的。

于 2015-11-27T16:39:44.977 回答