Table of contents
在VBA中,你可以使用不同的方法来查找最后一行。 在这篇文章中,我将解释VBA查找Excel中最后一行的不同方法。
为了使这一解释清晰可见,我将使用一个样本数据集。 在数据集中有4列代表销售信息。 这些列是 销售人员,地区,产品。 和 价格 .
下载《实践》杂志
VBA查找最后一行.xlsmVBA查找Excel中最后一行的方法
1.使用SpecialCells来寻找最后一行
你可以使用 特殊细胞 方法来寻找最后一行,使用 VBA .
首先,打开 开发商 标签>> 然后选择 视觉基础
一个新的窗口 微软Visual Basic应用程序 将会弹出。
现在,从 插入 >> 选择 模块
A 模块 将会被打开。
然后在下面的代码中写上 模块 .
Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A") .SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub
在这里,我创建了一个子过程,名为 最后一行_特殊细胞 ,其中a 长 变量的类型 最后一行 已被宣布。
然后用以下方法定义变量 范围.特殊单元格 这里,我使用了列 A ( A:A )作为范围。 提供 xlCellTypeLastCell 的类型参数,作为 特殊细胞 ,这将返回该区域的最后一个单元格(在本例中,从列 A ).
我使用了一个消息框来显示结果。
在这之后。 拯救 代码,然后回到工作表。
再次,打开 查看 标签>> 从 巨集 >> 选择 查看宏
然后,一个 对话框 将会弹出。
现在,从 巨集名称 选择 最后一行_特殊细胞 同时选择工作簿中的 巨集在 .
最后。 运转 选定的 宏观 .
因此,它将弹出一个信息框,显示最后的行号。
2.对非空单元格使用Rows.Count
你可以使用 Rows.Count 方法来寻找最后一行,使用 VBA .
现在,打开 开发商 标签>> 然后选择 视觉基础
一个新的窗口 微软Visual Basic应用程序 将会弹出。
现在,从 插入 >> 选择 模块
A 模块 将会被打开。
然后在下面的代码中写上 模块 .
Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub
在这里,我创建了一个名为LastRow_NonEmpty的子存储过程,其中一个 长 变量的类型 最后一行 已被宣布。
现在。 CELLS(Rows.Count, 1) 将计算第一列有多少行。 然后用 End(xlUp).Row 现在这将找到Excel范围内最后使用的行。
最后,我用一个信息框来显示结果。
然后。 拯救 代码,然后回到工作表。
在这里,打开 查看 标签>> 从 巨集 >> 选择 查看宏
现在,一个 对话框 将会弹出。
然后,从 巨集名称 选择 最后一行_非空 同时选择工作簿中的 巨集在 .
最后。 运行 选定的 宏观 .
因此,它将弹出一个信息框,显示最后的行号。
3.对任何选定的列使用Rows.Count
通过使用任何选定的列在 VBA。 你可以找到最后一行。
首先,打开 开发商 标签>> 然后选择 视觉基础
一个新的窗口 微软Visual Basic应用程序 将会弹出。
现在,从 插入 >> 选择 模块
A 模块 将会被打开。
然后在下面的代码中写上 模块 .
Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub
在这里,我创建了一个名为LastRow_AnyColumn的子存储过程,其中一个 长 变量的类型 最后一行 已被宣布。
然后,在 范围 鉴于该列 B 作为一个参数,同时也是 Rows.Count ,这将计算出某一列中有多少行。 B ......下一步,使用 结束(xlup)。 行 这将找到Excel范围内最后使用的行。
最后,我使用了一个消息框来显示结果。
下一步。 拯救 代码,然后回到工作表。
然后,打开 查看 标签>> 从 巨集 >> 选择 查看宏
在这里,一个 对话框 将会弹出。
现在,从 巨集名称 选择 最后一行_任何一列 同时选择工作簿中的 巨集在 .
最后。 运转 选定的 宏观 .
因此,它将弹出一个信息框,显示最后的行号。
类似的阅读。
- VBA在Excel中查找列的方法(7种方法)
- 使用VBA查找和替换(11种方法)
- 在Excel中使用VBA查找精确匹配(5种方法)
- 如何在Excel中用VBA查找字符串(8个例子)
4.使用UsedRange来寻找最后一行
你可以使用 二手范围 属性来查找工作表的最后一行。 VBA .
现在,打开 开发商 标签>> 然后选择 视觉基础
然后,一个新的窗口 微软Visual Basic应用程序 将会弹出。
现在,从 插入 >> 选择 模块
A 模块 将会被打开。
然后,在以下代码中写上 模块 .
Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "最后一行: " & LastRow End Sub
在这里,我创建了一个名为LastRow_UsedRange的子存储过程,其中一个 长 变量的类型 最后一行 已被宣布。
接下来,使用 ActiveSheet.UsedRange.Rows 还提供了方法 ActiveSheet.UsedRange.Rows.Count 为参数的 ActiveSheet.UsedRange.Rows ,这将返回最后一行。
我使用了一个信息框来显示结果。
现在。 拯救 代码,然后回到工作表。
然后,打开 查看 标签>> 从 巨集 >> 选择 查看宏
接下来,一个 对话框 将会弹出。
然后,从 巨集名称 选择 最后一行_使用的范围 同时选择工作簿中的 巨集在 .
最后。 运行 选定的 宏观 .
因此,它将弹出一个信息框,显示最后的行号。
5.使用Range.Find来查找最后一行
你可以使用 范围.查找 方法来寻找最后一行,使用 VBA .
现在,打开 开发商 标签>> 然后选择 视觉基础
在这里,一个新的窗口 微软Visual Basic应用程序 将会弹出。
现在,从 插入 >> 选择 模块
A 模块 将会被打开。
然后在下面的代码中写上 模块 .
Sub Range_Find_Method() Dim LastRow As Long On Error Resume Next LastRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False) .Row On Error GoTo 0 MsgBox "最后一行: " & LastRow End Sub
在这里,我创建了一个名为Range_Find_Method的子过程,其中一个 长 变量的类型 最后一行 已被宣布。
然后用以下方法定义变量 单元格.查找 在这里,声明了7个参数。 在 什么 我使用的参数("*")将找到第一个非空的单元格。 鉴于 A1 中的范围。 之后 参数来启动。 在 观察 提供的参数 xlPart 来查看单元格内文本的任何部分。
LookIn:=xlFormulas 如果有公式的话,参数将寻找公式。 搜索顺序:=xlByRows 参数将从右到左移动,并在每一行中向上循环,直到找到一个非空的单元格。
MatchCase:=False 参数将告诉 查找 当发现一个非空白时,它就会停止并返回行号。
我使用了一个信息框来显示结果。
现在。 拯救 代码,然后回到工作表。
在这里,打开 查看 标签>> 从 巨集 >> 选择 查看宏
现在,一个 对话框 将会弹出。
现在,从 巨集名称 选择 查找范围的方法 还可以选择工作表中的 巨集在 .
最后。 运行 选定的 宏观 .
因此,它将弹出一个信息框,显示最后的行号。
总结
在这篇文章中,我解释了5种方法来 VBA 如果你对这些方法有任何困惑或疑问,你可以在下面留言。