Propiedad Range.Item (Excel)

Devuelve un objeto Range que representa un rango desplazado con respecto al rango especificado.

Sintaxis

expresión. Item (RowIndex, ColumnIndex)

expresión Variable que representa un objeto Range.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
RowIndex Obligatorio Variant Si se proporciona el segundo argumento, el número de fila relativo de la celda que se va a devolver.

Si no se proporciona el segundo argumento, el índice del subrange que se va a devolver.
ColumnIndex Opcional Variant Número de columna relativo de la celda que se va a devolver.

Comentarios

Si expresión no es un rango que contiene una colección de celdas únicas, por ejemplo, porque se ha obtenido a través del miembro Columns , proporcionar el segundo argumento es ilegal y provocará un error 1004.

El miembro predeterminado de Range reenvía las llamadas con parámetros al miembro Item . Por lo tanto, someRange(1) y someRange(1,1) son equivalentes a someRange.Item(1) y someRange.Item(1,1), respectivamente.

Los argumentos RowIndex y ColumnIndex son desplazamientos relativos basados en 1 a la celda superior izquierda del primer área del rango devuelta por el miembro Areas , es decir, para el intervalo Union(someSheet.Range("Z4:AA6"), someSheet.Range("A1:C3")), Item(1,1) devolverá el intervalo con la dirección $Z$4.

ColumnIndex se puede proporcionar como un índice numérico o como una cadena de dirección de columna como en la notación A1, es decir"A", hace referencia al índice 1 numérico y "AA" a 27.

Es posible hacer referencia a celdas fuera del rango original mediante la propiedad Item proporcionando los argumentos adecuados, por ejemplo Item(3,3) , devolverá la celda en "D4" para el rango someSheet.Range("B2:C3").

El intervalo devuelto al proporcionar solo un parámetro depende de la naturaleza del intervalo:

  • En el caso de los rangos que constan de celdas únicas, tal como lo devuelven los miembros Cells y Range , Item devuelve celdas únicas. El parámetro RowIndex hace referencia al índice al enumerar el primer área del intervalo de izquierda a derecha que de arriba a abajo, como para matrices de dos dimentos. Si RowIndex es mayor que el número de celdas del primer área del rango, la enumeración es como si el área se extendía hacia abajo.

  • En el caso de los intervalos que constan de intervalos de filas, como devuelve Rows, Item devuelve intervalos de filas. El parámetro RowIndex es el desplazamiento basado en 1 de la primera fila del intervalo en la dirección de arriba a abajo.

  • Para los intervalos que constan de intervalos de columnas, tal como lo devuelve Columns, Item devuelve intervalos de columnas. El parámetro RowIndex es el desplazamiento basado en 1 de la primera columna en la dirección de izquierda a derecha. En esta situación, el índice puede proporcionarse como una cadena de dirección de columna.

Ejemplo:

En el ejemplo siguiente se muestra qué celda se devuelve si se proporcionan ambos parámetros.

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

En el ejemplo siguiente se muestra para distintos tipos de intervalos qué subranges se devuelven si solo se proporciona un parámetro.

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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.