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,不过最终只能做到选择矩形区域。