前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Range单元格对象常用属性(二)

Range单元格对象常用属性(二)

作者头像
无言之月
发布2019-10-13 15:44:53
1.3K0
发布2019-10-13 15:44:53
举报

Range单元格对象的常用属性,本节主要介绍单元格对象的End属性和Count属性。

一、End 属 性

End属性是用来返回当前区域结尾处的单元格。

它有四个方向可选参数,分别为向上(xlup),向下(xldown)向左(xltoleft)和向右(xltoright)。

这里的区域是指连续的区域,比如周围单元格区域中都有数据,或者周围单元格区域都是为空的。只看理论比较难理解,下面通过实例来帮助理解最后的边界,再说明具体的常用应用。

下面的单元格我以B4单元格为例,通过end属性的得到得边界位置。定义四个变量等于边界的行号和列号。

B4单元格和周围的单元格都有数值是有数值,那么end属性是有数值的连续单元格区域的边界的结果:

Range("b4").End(xlUp).Row 为最上侧的单元格的行号是1

Range("b4").End(xlDown).Row 为最下侧的单元格的行号是6

Range("b4").End(xlToLeft).Column为最左侧单元格的列号为1

Range("b4").End(xlToRight).Column为最右侧的单元格的列号为3。

可以明显看到小灰所在的第八行与上面的有数值的区域是不连接的,所以下边界的行号是6而不是8。

B4单元格如果为空值呢?其他三个方向上都有数据,作为对比来看下它的边界的结果如何?

可以看到当B4和B5单元格均为为空值时,得到的结果是旁边的有数值的单元格的行列号。如上边界行号是有值得单元格的行号3,下边界是有值得单元格的行号是5,左边界的有值的单元格的列号为1,右边界均没有值列号最大值16384。

那么同样将B4单元格换成B11单元格看下结果如何?B11周围均为空值连成的区域。

B11周围单元格均为空值,向上有数值的单元格的行号是8,向下为行的最大值1048576,向左为边界列号为1,向右边界的列号为最大值16384。

所以单元格end属性的特性,就是四个方向上,连续的区域,其边界是有值的单元格或者边界。通常需要的就是它的行号的列号。

单元格end属性最常用到的就是获得最后一行的行数,因为通常excel表中数据是可能变动的,或者中间存在空值的情况。通过end(xlup)的属性能在程序执行时更新最后一行的行数值,就可以使程序增加实用性。下面我们看下具体应用实例。

这段代码就是常用于查找最后非空单元格所在行。可以看到代码执行的的结果为行号8,即最后一行有数值的行号。

Range("A1048576").End(xlUp).Row这样的写法已经是一种约定俗成的写法。A1048576就是A列的最底层单元格,即从最底层向上找有数值的最后一行。(有的代码中可能看到使用A65536的,那是因为excel2007之前版本行号最大值为4^8=65536。)

下面列举一个实例来帮助巩固,在表格中增加姓名,不论表格是否更新,都可以再最后一行添加姓名,效果如下:

通过 Range("a1045576").End(xlUp)属性来获得由最后一行有数据的单元格的行号,在利用单元格offset属性,将输入的值赋值给最后一个单元格的向下偏移一个空单元格。

Sub test()

Dim i As Integer, j As String

j = InputBox("请输入新增成员姓名")

i = Range("a1045576").End(xlUp).Row

Range("a" & i).Offset(1, 0).Value = j

End Sub

这样编写代码就考虑到了excel工作表可能的修改,增加了实用性,是常用的代码写法。


二、Count 属 性

在概述篇中使用过工作表worksheets集合count属性,是用来统计集合中对象的数量,单元格对象也是类似的用法,单元格range对象可以表示一个单元格也可以表示单元格区域。

示例中统计了b2:d5这个与区域的单元格的数量,结果为15个。

Count属性也可以用来统计,单元格区域占的行的数量和列的数量。

语句是Range("b2:d6").Rows.Count和Range("b2:d6").Columns.Count即统计单元格区域的行或者列的集合的count属性,结果为5行3列。


本节主要介绍了单元格对象的end属性和count属性,有问题可以给我留言,祝大家学习快乐。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel和Access学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档