VBA最后一行|查找上次使用的行的前3种方法?

在VBA中,当我们必须查找最后一行时,有许多不同的方法,最常用的方法是End(XLDown)方法,还有其他方法,例如使用VBA中的find函数End(XLDown)查找最后一个值。 )。该行是到达最后一行的最简单方法。

Excel VBA最后一行

如果编写代码是您在VBA中所做的第一步,那么使代码动态化是您的下一步。 Excel充满了单元格引用,当我们引用该单元格时,它就变得固定了。如果我们的数据增加,我们需要返回到单元格引用并更改引用以使结果保持最新。

例如,请看下面的代码。

代码:

 Sub Last_Row_Example1()Range(“ D2”)。Value = WorksheetFunction.Sum(Range(“ B2:B7”))En​​d Sub 

上面的代码说D2单元格中的值应该是Range的总和(“ B2:B7”)。

现在,我将更多值添加到列表中。

现在,如果我运行代码,它不会给我更新结果,而是仍然停留在旧范围内,即范围(“ B2:B7”)。

这是动态代码非常重要的地方。

在使代码动态化的过程中,找到列中最后使用的行非常重要。在本文中,我们将讨论在Excel VBA中查找最后一行的方法。

如何在列中查找上次使用的行?

下面是在Excel VBA中查找最后使用的行的示例。

您可以在此处下载此VBA最后一行模板– VBA最后一行模板

方法1

在向您解释代码之前,我希望您记住如何转到常规工作表的最后一行。

我们将使用快捷键 Ctrl +向下箭头。

它会将我们带到任何空单元之前的最后使用的行。我们也将在VBA中使用相同的方法来查找最后一行。

步骤1: 将变量定义为LONG。

代码:

 Sub Last_Row_Example2()Dim LR As Long'为了理解LR =最后一行结束Sub 

第2步: 对于此变量,我们将分配最后使用的行号。

代码:

 Sub Last_Row_Example2()Dim LR As Long'为了理解LR =最后一行LR =结束Sub 

第三步: 编写代码为 细胞(行数,

代码:

 Sub Last_Row_Example2()Dim LR As Long'为了理解LR =最后一行LR =单元格(行数,行结束) 

第4步: 现在,将列号提到为1。

代码:

 Sub Last_Row_Example2()Dim LR As Long'为了理解LR =最后一行LR =单元格(行数,1)结束子级 

细胞(行数1) 表示要计算第一列中有多少行。

因此,上面的VBA代码会将我们带到excel工作表的最后一行。

步骤5: 如果我们位于工作表的最后一个单元格中,请转到最后使用的行,我们将按快捷键 Ctrl +向上箭头 钥匙。

在VBA中,我们需要使用结束键并向上使用,即End VBA xlUp

代码:

 Sub Last_Row_Example2()Dim LR As Long'为了理解LR =最后一行LR =单元格(Rows.Count,1).End(xlUp)结束子级 

步骤6: 现在,它将把我们带到底部的最后使用的行。现在我们需要这个的行号。因此,使用属性ROW获取行号。

代码:

 Sub Last_Row_Example2()Dim LR As Long'为了理解LR =最后一行LR =单元格(Rows.Count,1).End(xlUp).Row End Sub 

步骤7: 现在,变量保存最后使用的行号。在VBA代码的消息框中显示此变量的值。

代码:

 Sub Last_Row_Example2()Dim LR As Long'为了理解LR =最后一行LR =单元格(Rows.Count,1).End(xlUp).Row MsgBox LR End Sub 

使用F5键或手动运行此代码,它将显示最后使用的行。

输出:

该工作表中最后使用的行是13。

现在,我将再删除一行并运行代码,然后查看代码的动态性。

好的,现在结果自动取到最后一行。

这就是动态VBA的最后一行代码。

如我在前面的示例中所示,将行号从数字值更改为LR。

代码:

 Sub Last_Row_Example2()Dim LR As Long'为了理解LR =最后一行LR =单元格(Rows.Count,1).End(xlUp).Row Range(“ D2”)。Value = WorksheetFunction.Sum(Range(“ B2: B“和LR))结束子 

我删除了B13并添加了变量名LR。

现在,无论添加多少行都将自动获取更新的引用。

方法#2

我们还可以通过使用Range对象和特殊的VBA单元格属性在VBA中找到最后一行。

代码:

 Sub Last_Row_Example3()Dim LR只要Long LR = Range(“ A:A”)。SpecialCells(xlCellTypeLastCell).Row MsgBox LR End Sub 

该代码还为您提供了最后使用的行。例如,查看下面的工作表图像。

如果我手动运行代码或使用F5键,则结果将为12,因为12是最后使用的行。

输出:

现在,我将删除第12行并查看结果。

即使我删除了一行,它的结果仍显示为12。

为了使此代码正常工作,我们需要在每次操作后单击“保存”按钮,然后此代码将返回准确的结果。

我已经保存了工作簿,现在看到了结果。

方法#3

我们可以在使用范围内找到VBA的最后一行。下面的代码还返回最后使用的行。

代码:

 Sub Last_Row_Example4()Dim LR as Long LR = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox LR End Sub 

这还将返回最后使用的行。

输出: