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 中执行其他常见任务: