如何获取工作表中第一个表格的最后一行?
获取工作表中第一个表格的最后一行(VBA)
场景1:表格是Excel内置结构化表格(ListObject)
如果你的表格是通过「插入→表格」创建的结构化表格,直接利用ListObjects集合定位第一个表格,再获取其最后一行:
Dim firstTable As ListObject Dim lastRow As Long ' 绑定工作表中的第一个结构化表格 Set firstTable = ActiveSheet.ListObjects(1) ' 获取表格数据区域(不含表头)的最后一行行号 lastRow = firstTable.DataBodyRange.Rows(firstTable.DataBodyRange.Rows.Count).Row ' 若需包含表头的整个表格最后一行,替换为下面的代码 ' lastRow = firstTable.Range.Rows(firstTable.Range.Rows.Count).Row
场景2:表格是普通连续单元格区域(非结构化)
如果表格是靠空行分隔的普通单元格区域,且第一个表格从A列第1行开始,通过向下查找第一个空行定位:
Dim lastRow As Long ' 从A1向下遍历,找到第一个空行的上一行 lastRow = ActiveSheet.Cells(1, 1).End(xlDown).Row ' 特殊情况处理:若A列无空行(整列都是数据),则取整列最后一行 If Not IsEmpty(ActiveSheet.Cells(lastRow + 1, 1)) Then lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row End If
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

