Vba:如何查找最后使用的行


您可以在 VBA 中使用以下基本语法来查找 Excel 工作表中最后使用的行:

 Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub

此特定示例搜索当前工作表中使用的最后一行,并将结果返回到单元格D2中。

如果您想显示消息框的最后一行,可以使用以下语法:

 Sub FindLastRow()
Dim LastRow As Long
    
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row

MsgBox " Last Row: " & LastRow
End Sub

以下示例展示了如何在实践中使用每种方法。

示例 1:使用 VBA 查找最后一行并将结果显示在单元格中

假设我们在 Excel 中有以下数据集,其中包含有关各种篮球运动员的信息:

我们可以创建以下宏来查找此 Excel 工作表中使用的最后一行并将结果显示在单元格D2中:

 Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub

当我们运行这个宏时,我们会收到以下输出:

请注意,单元格D2包含值11

这告诉我们该特定工作表中使用的最后一行是第 11 行。

还值得注意的是,如果使用的单元格之前有空单元格,则此宏将始终找到最后使用的行。

例如,假设我们在以下数据集上运行宏:

单元格D2包含值16 ,因为它是包含值的最后一行。

示例 2:使用 VBA 查找最后一行并将结果显示在消息框中

假设我们想要查找工作表中最后使用的行并在消息框中显示行号。

我们可以创建以下宏来执行此操作:

 Sub FindLastRow()
Dim LastRow As Long
    
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row

MsgBox " Last Row: " & LastRow
End Sub

当我们运行这个宏时,我们会收到以下输出:

消息框告诉我们工作表中使用的最后一行是第11行。

注意:您可以在此处找到 VBA Find方法的完整文档。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何计算范围的平均值
VBA:如何计算范围内的行数
VBA:如何删除范围内的重复值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注