4 VBA range对象和range属性的常见使用方法整理

1 与range对象位置有关的属性

(1)range.row : 该Range左上角单元格的行号

(2)range.column:该range左上角单元格的列号

(3)range.address : 该range各个对角顶点的绝对引用地址$

注意:当range包含多个矩形区域的时候,row和column只返回其中某一个矩形的左上角位置,并不一定是整个range的左上角!


比如:range(“D3:E4,A1:B2“)的Row和column,返回的可能是第三行第四列,而并不是第一行第一列
 

2 与range对象范围有关的属性

(1)range.count :该range中的单元格数量。

特别注意:
 
 01 range对象由多个矩形构成的时候,各矩形互相重叠的单元格会被重复计算。
 
 02 count计算的其实是对象而非单元格的个数,而且当数量太大时候回复发生
 
 # 溢出错误   所以计算单元格数量的最安全方法是:
 
 range.cells.countLarg

(2) range.rows:容纳了该Range中的每一行。可以使用Range.rows(n)得到一个新的range对象,代表位于该区域第n行的所有单元格。

## 注意:
如果range是由多个举行区域构成,rows只代表其中某一个矩形区域的所有行。

# rows.count(注意:不是rows(n).count),代表range的rows集合中一共有多少个元素,即该range一共有多少行。

(3)range.columns:容纳了该range中的每一列。
# 可以使用:
range.columns(n)得到一个新的range对象。
代表位于该区域第n列的所有单元格。


# 使用range.columns.count得到总列数。

特别注意:如果range是由多个举行区域构成,columns只代表其中某一个矩形区域的所有列。

(4) 使用过的范围

所有表格的行总数activesheet.cells.rows.count

使用过的: activesheet.usedrange.raws.count

(5) 获取range的最后一行的行数

sub findlastrow()

    dim r as range,i&
 
 'r为对象 
 
    set r=activesheet.usedrange
    
    i=r.row+r.rowS.count-1
    
    msgbox "最后一行是" “ & i”
    
 end sub

(6) 获取某一列数据的行数

Range("B4", Range("B4").End(xldown)).Select
 

Direction XlDirection 类型,必需。所要移动的方向。

XlDirection 可为 XlDirection 常量之一。

xlDown

xlToRight

xlToLeft

xlUp

二、End(xlUp).Row示例

本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。

Range("B4").End(xlUp).Select

本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。

Range("B4").End(xlToRight).Select

猜你喜欢

转载自blog.csdn.net/qq_36327687/article/details/84939672
vba