打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
第六讲 利用VBA获得指定行、列中最后一个非空单元格
使用VBA对工作表进行操作时,经常需要定位到指定行或列中最后一个非空单元格,此时可以使用Range对象的End属性,在取得单元格对象后便能获得该单元格的相关属性,如单元格地址、行列号、数值等,如下面的代码所示。

1  利用End()属性获得指列中的最后一个非空单元格的代码

Sub mynz_6_1() '第6讲  利用VBA获得指定行、列中的最后一个非空单元格
     Dim rng As Range
     Set rng = Sheets("6").Range("A1048576").End(xlUp)
     MsgBox "A列中最后一个非空单元格是" & rng.Address(0, 0) & ",行号" & rng.Row & ",数值" & rng.Value
     Set rng = Nothing
End Sub

2  代码的解读及实现效果

代码解析:
1)  ENDRow过程使用消息框显示工作表中A列最后非空单元格的地址、行号和数值。
2)  End属性返回一个Range对象,该对象代表包含源区域的区域尾端的单元格。等同于按键<< span="">End+向上键>、<< span="">End+向下键>、<< span="">End+向左键>或<< span="">End+向右键>,
语法如下:
expression.End(Direction)
参数expression是必需的,一个有效的对象。
参数Direction是可选的,所要移动的方向,可以为下表所示的XlDirection 常量之一。如下表:
c) Range对象的End属性返回的是一个Range对象,因此可以直接使用该对象的属性和方法。

运行ENDRow过程结果下图所示。

3  获得指行中的最后一个非空单元格的代码

通过修改相应的参数,能够获得指定行中最后一个非空单元格,如下面的代码所示。
Sub mynz_6_2() '第6讲  利用VBA获得指定行、列中的最后一个非空单元格
     Dim rng As Range
      Set rng = Sheets("6").Range("xfd1").End(xlToLeft)
      MsgBox "第一行中最后一个非空单元格是" & rng.Address(0, 0) & ",列号" & rng.Column & ",数值" & rng.Value
     Set rng = Nothing
End Sub
代码解析:过程使用消息框显示工作表中第一行最后一个非空单元格的地址、列号和数值、

运行效果:
上面的代码中充分应用了End属性,在实际的工作中我们也是经常利用到的一个属性,用于检测数据的录入情况,运行后可以知道非空单元格的数目多少,然后可以利用FOR,NEXT循环,这样可以减少内存的使用,提高程序的运行效率。

今日内容回向:
1  expression.End(Direction)  END属性用哪些利用价值。
2  Direction 值有哪些?
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA常用代码解析(第十四讲)
#Excel VBA#解读(38):快速确定自已的地盘——CurrentRegion属性
VBA判断单元格是否包含公式
Excel VBA学习笔记(六):VBA中的循环语句
VBA入门教程:获得数据区的最大行最大列
Excel VBA解读(49):复制或剪切单元格——Copy方法与Cut方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服