Range.Item 屬性 (Excel)

可傳回 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 支援與意見反應。