Excel VBA之第七十八课
大家好,上节课我们学习了单元格边框对象的Column属性、ColumnWidth属性、Row属性、RowHeight属性。本节课我们来学习单元格对象的End属性。这个属性非常重要I,在Excel VBA中使用的频率之高可谓惊人!希望大家好好用心学习一下。
End属性返回一个Range对象,该对象代表包含源区域的区域尾端的单元格,等同于我们键盘上的End+向上键、End+向下键、End+向左键、End+向右键,只读。所以,利用End属性,我们可以很容易地定位数据区域的最上行、最下行、最左行、最右行。
在使用End属性时,我们要按照如下两个步骤思索:
1、确定往那个方向(上、下、左、右四个方向)
2、然后再注意一下该单元格在这个方向上的第一个单元格里是否有内容
2.1 如果该单元格在这个方向上的第一个单元格里有内容,则继续往该方向找,一直找到第一次没有数据的单元格的下面一个单元格为止。
2.2 如果该单元格在这个方向上的第一个单元格里没有内容,则继续往该方向找,一直找到第一次数据的单元格为止。
下面我们来看一个例子,我们以End(xlup),也就是向上查找为例来进行讲解,如下图是一个简单的数据表:
测试程序1:
这段代码的意思是从C7单元格往上找,我们可以看到C7单元格向上的第一个单元格(C6单元格)里面是没有数据的,那么则会继续往该方向找,一直找到第一次数据的单元格为止,这个时候就到了C4单元格。故运行的结果是:
测试程序2:
这段代码的意思是从C8单元格往上找,我们可以看到C8单元格向上的第一个单元格(C7单元格)里面是有数据的,那么则会则继续往该方向找,一直找到第一次没有数据的单元格(C6单元格)的下面一个单元格(C7单元格)为止。
故运行的结果是:
其他三个方向的规则以此类推,再次重申一遍,End属性非常重要,请大家好好理解!