Range.Item 屬性 (Excel)
可傳回 Range 物件,其代表指定範圍位移的範圍。
語法
運算式。RowIndex、ColumnIndex (專案)
expression 代表 Range 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
RowIndex | 必要 | Variant | 如果提供第二個引數,則為要傳回之儲存格的相對資料列編號。 如果未提供第二個引數,則會傳回子範圍的索引。 |
ColumnIndex | 選用 | Variant | 要傳回之儲存格的相對欄號。 |
註解
如果 expression 不是包含單一儲存格集合的範圍,例如,因為 是透過 Columns 成員取得,所以提供第二個引數不合法,而且會導致錯誤 1004。
Range的預設成員會將具有參數的呼叫轉送至Item成員。 因此, someRange(1)
和 someRange(1,1)
分別相當於 someRange.Item(1)
和 someRange.Item(1,1)
。
RowIndex和ColumnIndex引數是範圍第一個區域左上角儲存格的相對 1 型位移,如Areas成員所傳回,也就是針對範圍 Union(someSheet.Range("Z4:AA6"), someSheet.Range("A1:C3"))
, Item(1,1)
會傳回位址$Z$4 的範圍。
ColumnIndex可以提供為數值索引或資料行位址字串,如同 A1 標記法一樣,也就是 "A"
參考數值索引 1
和 "AA"
27
。
您可以使用 Item 屬性來參考原始範圍以外的儲存格,方法是提供適當的引數,例如 Item(3,3)
會傳回範圍 的 單元 "D4"
格 someSheet.Range("B2:C3")
。
只提供一個參數時傳回的範圍取決於範圍的本質:
對於由單一儲存格所組成的範圍,如 Cells 和Range 成員所傳回, Item 會傳回單一儲存格。 RowIndex參數是指列舉範圍從左至右而非從上到下範圍的第一個區域時的索引,如同兩個二元陣列。 如果 RowIndex 大於範圍第一個區域中的儲存格數目,則列舉會如同區域向下延伸一樣。
對於由資料列範圍所組成的範圍,如資料 列所傳回, Item 會傳回資料列範圍。 RowIndex參數是範圍第一列從上到下方向的 1 型位移。
對於由資料行範圍所組成的範圍,如資料 行所傳回, 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 支援與意見反應。