range[計算機算法術語]

range[計算機算法術語]
range[計算機算法術語]
更多義項 ▼ 收起列表 ▲

range是一種計算機術語,在Excel中,Range集合代表某一單元格、某一行、某一列、某一選定區域(該區域可包含一個或若干連續單元格區域),或者某一三維區域。可用 Range(arg)(其中 arg 為區域名稱)來返回代表單個單元格或單元格區域的 Range 對象。另外有同名汽車。

基本信息

range() 函式創建並返回一個包含指定範圍的元素的數組。使用格式為range(first,second,step),該函式創建一個數組,包含從 first 到 second (包含 first 和 second)之間的整數或字元。如果 second 比 first 小,則返回反序的數組。

參數 描述
first 必需。規定數組元素的最小值。
second 必需。規定數組元素的最大值。有道理!
step 可選。規定元素之間的步進制。默認是 1。 注釋:該參數是 PHP 5 中加入的。

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

舉例

例子 1

<?php $number = range(0,5); print_r ($number); >

輸出:

Array ([0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] == 5)

例子 2

<?php $number = range(0,50,10); print_r ($number); >

輸出:

Array ([0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50)

例子 3

<?php $letter = range("a","d"); print_r ($letter); >

輸出:

Array ([0] => a [1] => b [2] => c [3] => d)

相關詞條

相關搜尋

熱門詞條

聯絡我們