可傳回 Range 物件,其代表指定範圍位移的範圍。
語法
運算式。項目 (RowIndex、 ColumnIndex)
expression 代表 Range 物件的變數。
參數
| 名稱 | 必要/選用 | 資料類型 | 描述 |
|---|---|---|---|
| RowIndex | 必要 | Variant | 如果提供了第二個引數,則是要傳回之儲存格的相對列號。 如果未提供第二個引數,則是要傳回的子範圍索引。 |
| ColumnIndex | 選用 | Variant | 要返回之儲存格的相對欄號。 |
註解
如果 運算式 不是包含單一儲存格集合的範圍,例如因為是透過 Columns 成員取得,則提供第二個引數是非法的,且會導致錯誤 1004。
Range 的預設成員會使用參數將呼叫轉接至 Item 成員。 因此, someRange(1) 和 someRange(1,1) 分別相當於 someRange.Item(1) 和 someRange.Item(1,1)。
RowIndex 和 ColumnIndex 引數是 Areas 成員所傳回之範圍之第一個區域之左上角儲存格的相對 1 型位移,亦即是針對 range Union(someSheet.Range("Z4:AA6"), someSheet.Range("A1:C3")),Item(1,1)將傳回位址為 $Z$4 的範圍。
ColumnIndex 可以作為數字索引或列位址字串提供,如 A1 標記法中所示,即"A"引用數字索引1和 "AA"27。
您可以使用 Item 屬性,藉由提供適當的引數來參考原始範圍以外的儲存格,例如,Item(3,3)將傳回範圍someSheet.Range("B2:C3")的儲存格 。"D4"
僅提供一個參數時傳回的範圍取決於範圍的性質:
若是由單一儲存格組成的範圍,如 Cells 和 Range 成員所傳回, Item 會傳回單一儲存格。 參數 RowIndex 是指列舉範圍的第一個區域時從左至右而不是從上到下列舉索引,例如二維陣列。 如果 RowIndex 大於範圍第一個區域的儲存格數目,則列舉就像區域向下延伸一樣。
若是由列範圍組成的範圍,如列所傳回,Item 會傳回列範圍。 參數 RowIndex 是從範圍第一列起從上至下方向的從 1 開始的位移。
對於由欄範圍組成的範圍,如 Columns 所傳回, Item 會傳回欄範圍。 參數 RowIndex 是從第一欄從左至右方向的從 1 開始的位移。 在此情況下,索引也可以作為欄位址字串提供。
範例
下列範例顯示同時提供兩個參數時會傳回哪個儲存格。
Public Sub PrintAdresses()
Dim exampleRange As Excel.Range
With ThisWorkbook.Worksheets("ExampleSheet")
Set exampleRange = Application.Union(.Range("B2:D4"), .Range("A1"), .Range("Z1:AA20"))
End With
Debug.Print exampleRange.Item(1,1).Address 'Prints "$B$2"
Debug.Print exampleRange.Item(2,4).Address 'Prints "$E$3"
Debug.Print exampleRange.Item(20,40).Address 'Prints "$AO$21"
Debug.Print exampleRange.Item(2,"D").Address 'Prints "$E$3"
Debug.Print exampleRange.Item(20,"AN").Address 'Prints "$AO$21"
End Sub
下列範例顯示不同類型的範圍,如果僅提供一個參數,會傳回哪些子範圍。
Public Sub PrintAdresses()
Dim exampleRange As Excel.Range
With ThisWorkbook.Worksheets("ExampleSheet")
Set exampleRange = Application.Union(.Range("B2:D4"), .Range("A1"), .Range("Z1:AA20"))
End With
Debug.Print exampleRange.Cells.Item(1).Address 'Prints "$B$2"
Debug.Print exampleRange.Cells.Item(2).Address 'Prints "$C$2"
Debug.Print exampleRange.Cells.Item(4).Address 'Prints "$B$3"
Debug.Print exampleRange.Cells.Item(10).Address 'Prints "$B$5"
Debug.Print exampleRange.Rows.Item(1).Address 'Prints "$B$2:$D$2"
Debug.Print exampleRange.Rows.Item(10).Address 'Prints "$B$11:$D$11"
Debug.Print exampleRange.Columns.Item(1).Address 'Prints "$B$2:$B$4"
Debug.Print exampleRange.Columns.Item(10).Address 'Prints "$K$2:$K$4"
Debug.Print exampleRange.Columns.Item("A").Address 'Prints "$B$2:$B$4"
Debug.Print exampleRange.Columns.Item("J").Address 'Prints "$K$2:$K$4"
End Sub
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。