首页 > 代码库 > Range对象

Range对象

Range对象代表工作表中的单元格或单元格区域,包含在worksheet对象中。

引用Range

直接写清楚哪个工作簿下的哪个表格下的哪个单元格即可。o( ̄▽ ̄)d

Worksheets(“sheet1”).Range(“D3”).select

可以选中区域:Range(“A1:D3”).select

如果定义一个区域,如:

Dim n As String

n=”A1:D3”

Range(n).select

如果要引用多个不连续区域,在各区域中添加逗号:

Range(“A1:A3,B2:D5,F3:H6”).Select

技术分享

如果要引用多个区域中的公共区域,则:

Range(“A1:D5 C4:F6”).Select   (中间用空格隔开)

技术分享

如果引用多个区域的并区域,及由多个区域围成的矩形区域,用:

Range(“A2:D3”,”E4:F6”)      (单独区域分开,中间用逗号隔开)

Cells属性:

之前我们用过的cells属性主要是在worksheet里面用的,用来返回制定工作表或者指定区域中行和列相交的单元格。(注意是单元格,没有区域(??ˇ?ˇ??) )

除了在表格里的“ActiveSheet.Cells(1,2)”,亦可以在区域里用:

Range(“A2:G6”).Cells(2,3).Select     (表示选中A2:G6区域中第2行第3列的单元格)

Cells也可以作为Range属性的参数:

Range(Cells(1,1),Cells(4,5)).Select

Cells的参数也可以为数字,及第几个单元格,每个单元格有个编号,都是从左到右,从上到下编号。

Offset属性

Offset属性用于选中单元格或者区域的位移活动。可用于选择赋值等。如:

Range(“A1:B2”).Offset(3,3).Select

第一个参数代表上下,行方向;第二个参数代表左右,列方向。默认正数为下(右)。本例中即选中A1:B2区域向下移动3个单元格,向右移动3个单元格,最终为D4:E5。

Resize属性

Resize属性用于将指定区域扩大或缩小。如:

Range(“B2”).Resize(5,4).Select       (将B2单元格扩大为B2:E6)

参数分别指扩大到5行,4列。变换总是以第一个单元格为参照。

 

行列选择

选中表格中的整行和整列。

ActiveSheet.Rows(2).Select      (选中活动变革中第2行)

可以在某一区域内选择:

Rows(“3:8”).Rows(“2:2”).Select          (选中第3到8列中的第2列)

以及选中整列:

ActiveSheet.Columns(“D:G”),Select             (选中D到G列)

End属性

End属性返回当前区域结尾处的单元格。如:

技术分享

这里的end是有参数的,为:

技术分享

?实例中,B5为当前单元格,xlup代表向上选择,及返回了B1单元格。

CurrentRegion属性

CurrentRegion属性返回当前区域,以空行列为边界。如:

技术分享

 

Worksheet对象的UsedRange属性

UsedRange属性用于返回已经使用的单元格围成的区域,忽略区域间的空行列。

技术分享

 

?Application的Union方法

Union方法将不连续的单元格区域连接在一起,结果类似不连续选择。如:

?Application.Union(Range(“A1:D4”),Range(“F6:G8”)).Select

      其中Union中参数最少两个,最多30个。

实例:选中A1:C9区域中 与A3单元格值相等的单元格;

?首先考虑,要对比值,就一定涉及到循环和判断,即for和if。另外就是需要把每一次判断满足条件的单元格选中并存储,我第一反应是Range引用不连续区域,不过Union更好。

技术分享
技术分享

虽然试过了用Range,不过最终只能做到选择矩形区域。

Range对象