Range.Item プロパティ (Excel)

指定したセル範囲のオフセット値で指定される範囲を表す Range オブジェクトを返します。

構文

Item (RowIndex, ColumnIndex)

expressionRange オブジェクトを表す変数です。

パラメーター

名前 必須 / オプション データ型 説明
RowIndex 必須 バリアント型 2 番目の引数が指定されている場合は、返すセルの相対行番号を指定します。

2 番目の引数が指定されていない場合、返すサブ範囲のインデックス。
ColumnIndex 省略可能 バリアント型 返すセルの相対列番号。

注釈

1 つのセルのコレクションを含む範囲ではない場合 ( Columns メンバーを使用して取得された場合など)、2 番目の引数を指定すると、エラー 1004 が発生します。

Range の既定のメンバー は、Item メンバーにパラメーターを指定して呼び 出しを転送 します。 したがって、someRange(1)それぞれsomeRange(1,1)と同等someRange.Item(1)``someRange.Item(1,1)です。

RowIndex 引数と ColumnIndex 引数は、Areas Union(someSheet.Range("Z4:AA6"), someSheet.Range("A1:C3"))``Item(1,1) メンバーによって返される範囲の最初の領域の左上のセルへの相対 1 ベースのオフセットです。つまり、範囲の場合は、アドレス $Z$4 の範囲が返されます。

ColumnIndex は、数値インデックスとして、または A1 "A" 1 "AA" 表記のように列アドレス文字列として指定できます。つまり、数値インデックスを参照し、 を指定します。27

Item プロパティを使用してItem(3,3)元の範囲外のセルを参照するには、適切な引数を指定します。たとえば、範囲のセルを"D4"返します。someSheet.Range("B2:C3")

1 つのパラメーターのみを指定するときに返される範囲は、範囲の性質によって異なります。

  • セルと Range メンバーによって返される 1 つのセルで構成 される範囲 の場合、Item は 1 つのセルを返します。 RowIndex パラメーターは、2 次元配列のように、上から下の範囲の最初の領域を左から右に列挙するときにインデックスを参照します。 RowIndex が 範囲の最初の領域のセル数より大きい場合は、領域が下方向に拡張された場合と同様に列挙します。

  • 行範囲で構成される範囲の場合、Rows によって返される 場合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 "$E$3"
End Sub

次の例は、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.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$1:$K$4"
   Debug.Print exampleRange.Columns.Item("A").Address  'Prints "$B$1:$B$4"
   Debug.Print exampleRange.Columns.Item("J").Address  'Prints "$K$1:$K$4"
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。