第六讲 利用VBA获得指定行、列中最后一个非空单元格
使用VBA对工作表进行操作时,经常需要定位到指定行或列中最后一个非空单元格,此时可以使用Range对象的End属性,在取得单元格对象后便能获得该单元格的相关属性,如单元格地址、行列号、数值等,如下面的代码所示。 1 利用End()属性获得指列中的最后一个非空单元格的代码 Sub mynz_6_1() '第6讲 利用VBA获得指定行、列中的最后一个非空单元格 Set rng = Sheets("6").Range("A1048576").End(xlUp) MsgBox "A列中最后一个非空单元格是" & rng.Address(0, 0) & ",行号" & rng.Row & ",数值" & rng.Value 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对象,因此可以直接使用该对象的属性和方法。 3 获得指行中的最后一个非空单元格的代码 通过修改相应的参数,能够获得指定行中最后一个非空单元格,如下面的代码所示。 Sub mynz_6_2() '第6讲 利用VBA获得指定行、列中的最后一个非空单元格 Set rng = Sheets("6").Range("xfd1").End(xlToLeft) MsgBox "第一行中最后一个非空单元格是" & rng.Address(0, 0) & ",列号" & rng.Column & ",数值" & rng.Value 代码解析:过程使用消息框显示工作表中第一行最后一个非空单元格的地址、列号和数值、 上面的代码中充分应用了End属性,在实际的工作中我们也是经常利用到的一个属性,用于检测数据的录入情况,运行后可以知道非空单元格的数目多少,然后可以利用FOR,NEXT 循环,这样可以减少内存的使用,提高程序的运行效率。 1 expression.End(Direction) END属性用哪些利用价值。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报 。