xlDown的概念理解

Conceptual understanding of xlDown

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

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

我正在刷新我对xlDown的概念性理解。我指的是 Sheet1 中 B 列中的数据,如下所附。

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

这段代码遵循什么逻辑? 任何人都可以解释一下以澄清这个微不足道的问题。

如果删除 .End():

,您将得到相同的结果
lastRow = .Cells(.Rows.Count, "B").Row

这是因为 ws.Cells(ws.Rows.Count, "B") 已经是 B 列的最后一个可能的单元格。允许对其调用 .End(),但不会执行任何操作,因为无处可去。

否则你的理解是正确的。