指定したセル範囲のオフセット値で指定される範囲を表す Range オブジェクトを返します。
構文
式。Item (RowIndex、 ColumnIndex)
expression は Range オブジェクトを表す変数です。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| RowIndex | 必須 | バリアント型 | 2 番目の引数が指定された場合、返すセルの相対行番号。 2 番目の引数が指定されていない場合、返すサブ範囲のインデックス。 |
| ColumnIndex | 省略可能 | バリアント型 (Variant) | 返すセルの相対列番号。 |
注釈
式が 1 つのセルのコレクションを含む範囲でない場合 (たとえば、is が 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"))の場合、アドレス $Z$4 の範囲Item(1,1)返します。
ColumnIndex は、数値インデックスとして指定することも、A1 表記のように列アドレス文字列として指定することもできます。つまり、"A" は数値1インデックスを参照し、27に"AA"します。
適切な引数を指定することで、Item プロパティを使用して元の範囲外のセルを参照できます (たとえば、Item(3,3) は範囲someSheet.Range("B2:C3")の "D4" にあるセルを返します)。
1 つのパラメーターのみを指定した場合に返される範囲は、範囲の性質によって異なります。
Cells メンバーと Range メンバーによって返される 1 つのセルで構成される範囲の場合、Item は 1 つのセルを返します。 パラメーター 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 "$AO$21"
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 のサポートおよびフィードバックを参照してください。