Propriedade Range.Item (Excel)

Retorna um objeto Intervalo que representa um intervalo deslocado do intervalo especificado.

Sintaxe

expressão. Item (RowIndex, ColumnIndex)

expressão Uma variável que representa um objeto de Intervalo.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
RowIndex Obrigatório Variantes Se o segundo argumento for fornecido, o número relativo da linha da célula a ser retornada.

Se o segundo argumento não for fornecido, o índice do subrange retornará.
ColumnIndex Opcional Variantes O número relativo da coluna da célula a ser retornada.

Comentários

Se a expressão não for um intervalo que contém uma coleção de células individuais, por exemplo, porque foi obtida por meio do membro Columns , desde que o segundo argumento seja ilegal e resultará em um erro 1004.

O membro padrão do Range encaminha chamadas com parâmetros para o membro item . Assim, someRange(1) e someRange(1,1) são equivalentes a someRange.Item(1) e someRange.Item(1,1), respectivamente.

Os argumentos RowIndex e ColumnIndex são deslocamentos relativos de 1 base para a célula superior esquerda da primeira área do intervalo, conforme retornado pelo membro areas , ou seja, para o intervalo Union(someSheet.Range("Z4:AA6"), someSheet.Range("A1:C3")), Item(1,1) retornará o intervalo com endereço $Z US$ 4.

O ColumnIndex pode ser fornecido como um índice numérico ou como uma cadeia de caracteres de endereço de coluna como na notação A1, ou seja "A" , refere-se ao índice 1 numérico e "AA" a 27.

É possível referenciar células fora do intervalo original usando a propriedade Item fornecendo argumentos apropriados, por exemplo Item(3,3) , retornará a célula no "D4" para o intervalo someSheet.Range("B2:C3").

O intervalo retornado ao fornecer apenas um parâmetro depende da natureza do intervalo:

  • Para intervalos que consistem em células individuais, conforme retornado pelos membros Cells e Range , Item retorna células individuais. O parâmetro RowIndex refere-se ao índice ao enumerar a primeira área do intervalo da esquerda para a direita do que de cima para baixo, como para matrizes de duas dimentionais. Se RowIndex for maior que o número de células na primeira área do intervalo, a enumeração como se a área fosse estendida para baixo.

  • Para intervalos que consistem em intervalos de linhas, conforme retornado por Linhas, Item retorna intervalos de linhas. O parâmetro RowIndex é o deslocamento baseado em 1 da primeira linha do intervalo na direção de cima para baixo.

  • Para intervalos que consistem em intervalos de colunas, conforme retornado por Colunas, Item retorna intervalos de colunas. O parâmetro RowIndex é o deslocamento baseado em 1 da primeira coluna na direção da esquerda para a direita. Nessa situação, o índice pode ser fornecido como uma cadeia de caracteres de endereço de coluna.

Exemplo

O exemplo a seguir mostra qual célula será retornada se ambos os parâmetros forem fornecidos.

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

O exemplo a seguir mostra para diferentes tipos de intervalos que são retornados se apenas um parâmetro for fornecido.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.