专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
完美Excel  ·  deepseek使用心得2:向deepsee ... ·  2 天前  
完美Excel  ·  deepseep+Python实现自动合并E ... ·  昨天  
Excel之家ExcelHome  ·  筛选状态下算乘积,还不会的打屁屁 ·  2 天前  
Excel之家ExcelHome  ·  VBA常用小代码:在批注中批量插入图片 ·  4 天前  
Excel之家ExcelHome  ·  WPS表格中的AI函数,真牛 ·  3 天前  
51好读  ›  专栏  ›  完美Excel

再谈查找最后使用的行或列

完美Excel  · 公众号  · Excel  · 2024-11-06 06:00

正文

学习Excel技术,关注微信公众号:

excelperfect


标签: VBA

VBA 中,经常会遇到要找到已使用的最后一行或最后一列,这样就能够确定已使用的有数据的单元格区域,便于进行下一步的操作。

关于查找最后使用的行或列,之前有多篇文章讲解过,下面再重温一下经典的方法。

我们知道,工作表对象有一个 UsedRange 的属性,可以返回工作表中已使用的区域,例如:

Set Rng = ActiveSheet.UsedRange

将当前工作表中已使用的单元格赋值给变量 rng

要找到当前工作表中最后使用的行的行号,可以使用下面的代码:

lngLastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row

注意,仅使用下面的代码:

ActiveSheet.UsedRange.Rows.Count

会得到不正确的结果。因为数据块不一定是从第 1 行开始的。

同理,下面的代码找到当前工作表中最后使用的列的列号:

lngLastColumn = ActiveSheet.UsedRange.Columns(ActiveSheet.UsedRange.Columns.Count).Column

也可以使用 Find 方法来查找最后一行或列。

查找并获取最后一行的行号:

lngLastRow = Cells.Find("*", , xlValues, , xlRows, xlPrevious).Row

查找并获取最后一列的列号:

lngLastColumn = Cells.Find("*", , xlValues, , xlByColumns, xlPrevious).Column

注意,上述代码行将返回可见值的行和列,无论这些值是常量还是公式结果。如果最后一行是由公式返回的值且返回的是空字符串( ”” ),此时想找到最后一行或最后一列,需将代码行中的常量 xlValues 更改为 xlFormulas

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。






请到「今天看啥」查看全文