在Excel中,Range集合代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域。另外有同名汽车。range() 函数创建并返回一个包含指定范围的元素的数组。下例设置单元格区域 A1:H8 中每个单元格的公式,用随机数填充该区域。在没有对象识别符(句号左边的对象)的情况下,使用 Range 属性将返回活动表上的一个区域。可用 Union(range1,range2,...) 返回多块区域,即该区域由两个或多个连续的单元格区域所组成。
excelrange_range -定义作用
range() 函数创建并返回一个包含指定范围的元素的数组。
集合用法
本部分将说明下列返回 Range 对象的属性和方法:
Range 属性
Cells 属性
Range 和 Cells
Offset 属性
Union 方法
Range 属性
可用 Range(arg)(其中 arg 为区域名称)来返回代表单个单元格或单元格区域的 Range 对象。下例将单元格 A1 中的值赋给单元格 A5。
Worksheets("Sheet1").Range("A5").Value = Worksheets("Sheet1").Range("A1").Value
下例设置单元格区域 A1:H8 中每个单元格的公式,用随机数填充该区域。在没有对象识别符(句号左边的对象)的情况下,使用 Range 属性将返回活动表上的一个区域。如果活动表不是工作表,则该方法无效。在没有明确的对象识别符的情况下,使用 Range 属性之前,可用 Activate 方法来激活工作表。
Worksheets("Sheet1").Activate
Range("A1:H8").Formula = "=Rand()" 'Range is on the active sheet
下例清除区域 Criteria 中的内容。
Worksheets⑴.Range("Criteria").ClearContents
如果用文本参数指定区域地址,必须以 A1 样式记号指定该地址(不能用 R1C1 样式记号)。
Cells 属性
可用 Cells(row,column)(其中 row 为行号,column 为列标)返回单个单元格。下例将单元格 A1 赋值为 24。
Worksheets⑴.Cells(1,1).Value = 24
下例设置单元格 A2 的公式。
ActiveSheet.Cells(2,1).Formula = "=Sum(B1:B5)"
虽然也可用 Range("A1") 返回单元格 A1,但有时用 Cells 属性更为方便,因为对行或列使用变量。下例在 Sheet1 上创建行号和列标。注意,当工作表激活以后,使用 Cells 属性时不必明确声明工作表(它将返回活动工作表上的单元格)。
Sub SetUpTable()
Worksheets("Sheet1").Activate
For TheYear = 1 To 5
Cells(1,TheYear + 1).Value = 1990 + TheYear
Next TheYear
For TheQuarter = 1 To 4
Cells(TheQuarter + 1,1).Value = "Q" & TheQuarter
Next TheQuarter
End Sub
虽然可用 Visual Basic 字符串函数转换 A1 样式引用,但使用 Cells(1,1) 记号更为简便(而且也是更好的编程习惯)。
可用 expression.Cells(row,column) 返回区域中的一部分,其中 expression 是返回 Range 对象的表达式,row 和 column 为相对于该区域左上角的偏移量。下例设置单元格 C5 中的公式。
Worksheets⑴.Range("C5:C10").Cells(1,1).Formula = "=Rand()"
Range和Cells
可用 Range(cell1,cell2) 返回一个 Range 对象,其中 cell1 和 cell2 为指定起始和终止位置的 Range 对象。下例设置单元格区域 A1:J10 的边框线条的样式。
With Worksheets⑴
.Range(.Cells(1,1),.Cells(10,10)).Borders.LineStyle = xlThick
End With
注意每个 Cells 属性之前的句点。如果前导的 With 语句应用于该 Cells 属性,那么这些句点就是必需的。本示例中,句点指示单元格处于第一张工作表上。如果没有句点,Cells 属性将返回活动工作表上的单元格。
Offset属性
可用 Offset(row,column)(其中 row 和 column 为行偏移量和列偏移量)返回相对于另一区域在指定偏移量处的区域。下例选定位于当前选定区域左上角单元格的向下三行且向右一列处的单元格。由于必须选定位于活动工作表上的单元格,因此必须先激活工作表。
Worksheets("Sheet1").Activate
'Can't select unless the sheet is active
Selection.Offset(3,1).Range("A1").Select
Union方法
可用 Union(range1,range2,...) 返回多块区域,即该区域由两个或多个连续的单元格区域所组成。下例创建由单元格区域 A1:B2 和 C3:D4 组合定义的对象,然后选定该定义区域。
Dim r1 As Range,r2 As Range,myMultiAreaRange As Range
Worksheets("sheet1").Activate
Set r1 = Range("A1:B2")
Set r2 = Range("C3:D4")
Set myMultiAreaRange = Union(r1,r2)
myMultiAreaRange.Select
使用包含若干块的选定区域时,Areas 属性很有用。它将一个多块选定区域分割为单个的 Range 对象,然后将这些对象作为一个集合返回。使用返回的集合的 Count 属性可检测一个选定区域是否包含多块区域,如下例所示。
Sub NoMultiAreaSelection()
NumberOfSelectedAreas = Selection.Areas.Count
If NumberOfSelectedAreas>1 Then
MsgBox "You cannot carry out this command " & _
"on multi-area selections"
End If
End Sub
excelrange_range -属性
返回一个 Range 对象,该对象代表一个单元格或单元格区域。
语法
expression.Range(Cell1,Cell2)
参数说明
expression 必需。该表达式返回上面的对象之一。
Cell1 Variant 类型,必需。区域名称。必须为 A1 样式引用的宏语言。可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。也可包括货币符号,但它们被忽略掉。可在区域中任一部分使用局部定义名称。如果使用名称,则假定该名称使用的是宏语言。
Cell2 Variant 类型,可选。区域左上角和右下角的单元格。可以是一个包含单个单元格、整列或整行的 Range 对象,或是一个用宏语言为单个单元格命名的字符串。
excelrange_range -其他
相关英文
range
n.
山脉,行列,范围,射程
vt.
排列,归类于,使并列,放牧
vi.
平行,延伸,漫游
英英解释:
名词range:
⒈an area in which something acts or operates or has power or control: "the range of a supersonic jet"
同义词:scope,reach,orbit,compass,ambit
⒉the limits within which something can be effective
同义词:reach
⒊a large tract of grassy open land on which livestock can graze
⒋a series of hills or mountains
同义词:mountain range,range of mountains,chain,mountain chain,chain of mountains
⒌a place for shooting (firing or driving) projectiles of various kinds
⒍the limits of the values a function can take
⒎a variety of different things or activities
⒏the limit of capability
同义词:compass,reach,grasp
⒐a kitchen appliance used for cooking food
同义词:stove,kitchen stove,kitchen range,cooking stove
动词range:
⒈change or be different within limits
同义词:run
⒉move about aimlessly or without any destination,often in search of food or employment
同义词:roll,wander,swan,stray,tramp,roam,cast,ramble,rove,drift,vagabond
⒊have a range; be capable of projecting over a certain distance,as of a gun
⒋range or extend over; occupy a certain area
同义词:straddle
⒌lay out orderly or logically in a line or as if in a line
同义词:array,lay out,set out
⒍feed as in a meadow or pasture
同义词:crop,browse,graze,pasture
⒎let eat
⒏assign a rank or rating to
同义词:rate,rank,order,grade,placea low range of prices 低档价钱 at close range 接近地 at long [short] range 在远[近]距离 be ranged against 站在... 的反对方面 go over the range [美]死 home range 动物的活动范围 in range 在射程内 in range with 和... 并排; 和... 同一方向 in the range of 在... 范围内; 在射程内 out of [beyond] range 在射程外 out of one's range 能力达不到的; 知识以外的 within range of 在...射程以内; 在...范围以内 range oneself (放荡后因结婚而)改过自新 得到固定职业 range oneself with 做... 的伙伴 range over [through] 漫游,徘徊; 涉及,包括; 考虑 range short (炮弹等)中途落下 range with 与... 在一条线上
语法
range(first,second,step)参数描述first必需。规定数组元素的最小值。second必需。规定数组元素的最大值。有道理!step可选。规定元素之间的步进制。默认是 1。注释:该参数是 PHP 5 中加入的。说明
该函数创建一个数组,包含从 first 到 second (包含 first 和 second)之间的整数或字符。如果 second 比 first 小,则返回反序的数组。
excelrange_range -举例
例子1
<?php $number = range(0,5); print_r ($number); >输出:
Array ( =>0
=>1
=>2
=>3
=>4
== 5)
例子2
<?php $number = range(0,50,10); print_r ($number); >输出:
Array ( => 0 => 10 => 20 => 30 => 40 => 50)例子3
<?php $letter = range("a","d"); print_r ($letter); >输出:
Array ( => a => b => c => d)