Propriedade Range.Item (Excel)
Retorna um objeto Intervalo que representa um intervalo deslocado do intervalo especificado.
expressão. Item (RowIndex, ColumnIndex)
expressão Uma variável que representa um objeto de Intervalo.
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. |
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.
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 "$AO$21"
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
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.