Range.Item プロパティ (Excel)
指定したセル範囲のオフセット値で指定される範囲を表す Range オブジェクトを返します。
構文
式。Item (RowIndex、 ColumnIndex)
expression は Range オブジェクトを表す変数です。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
RowIndex | 必須 | バリアント型 | 2 番目の引数が指定されている場合は、返されるセルの相対行番号です。 2 番目の引数が指定されていない場合は、返されるサブ範囲のインデックス。 |
ColumnIndex | 省略可能 | バリアント型 | 返されるセルの相対列番号。 |
注釈
式 が単一のセルのコレクションを含む範囲でない場合 (たとえば、Columns メンバーを介して取得されているため)、2 番目の引数を指定すると無効になり、エラー 1004 が発生します。
Range の既定のメンバーは、パラメーターを持つ呼び出しを Item メンバーに転送します。 したがって、 someRange(1)
someRange(1,1)
それぞれと同等someRange.Item(1)``someRange.Item(1,1)
です。
RowIndex 引数と ColumnIndex 引数は、Areas メンバーによって返される範囲の最初の領域の左上セルへの相対 1 から始まるオフセットです。つまり、範囲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"
が返されます。
パラメーターを 1 つだけ指定するときに返される範囲は、範囲の性質によって異なります。
セル と範囲のメンバーによって返されるように、単一のセルで構成される 範囲 の場合、Item は単一のセルを返します。 パラメーター RowIndex は、2 次元配列の場合と同様に、上から下までの範囲の左から右の範囲の最初の領域を列挙するときにインデックスを参照します。 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 "$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$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 のサポートおよびフィードバックを参照してください。