Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Retorna um objeto ShapeRange que representa um subconjunto das formas em uma coleção Shapes.
Sintaxe
expressão. Intervalo (Índice)
expressão Uma variável que representa um objeto Formas.
Parâmetros
| Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
|---|---|---|---|
| Índice | Obrigatório | Variant | As formas individuais a serem incluídas no intervalo. Pode ser um número inteiro que especifica o número de índice da forma, uma cadeia de caracteres que especifica o nome da forma ou uma matriz que contém as cadeias de caracteres ou números inteiros. |
Comentários
Embora possa utilizar a propriedade Intervalo para devolver qualquer número de formas, é mais simples utilizar o método Item se apenas quiser devolver um único membro da coleção. Por exemplo, Shapes(1) é mais simples do que Shapes.Range(1).
Para especificar uma matriz de números inteiros ou cadeias de caracteres para o índice, você pode usar a função Array. Por exemplo, a instrução a seguir retorna duas formas especificadas por nome.
Dim arShapes() As Variant
Dim objRange As Object
arShapes = Array("Oval 4", "Rectangle 5")
Set objRange = ActiveSheet.Shapes.Range(arShapes)
No Microsoft Excel, você não pode usar esta propriedade para retornar um objeto ShapeRange com todos os objetos Shape em uma planilha. Em vez disso, utilize o seguinte código.
Worksheets(1).Shapes.SelectAll ' select all shapes set sr = Selection.ShapeRange ' create ShapeRange
Exemplo
Este exemplo define o padrão de preenchimento para as formas um e três de myDocument.
Set myDocument = Worksheets(1)
myDocument.Shapes.Range(Array(1, 3)) _
.Fill.Patterned msoPatternHorizontalBrick
Este exemplo define o padrão de preenchimento para as formas denominadas Oval 4 e Retângulo 5 em myDocument.
Dim arShapes() As Variant
Dim objRange As Object
Set myDocument = Worksheets(1)
arShapes = Array("Oval 4", "Rectangle 5")
Set objRange = myDocument.Shapes.Range(arShapes)
objRange.Fill.Patterned msoPatternHorizontalBrick
Este exemplo define o padrão de preenchimento para a forma um em myDocument.
Set myDocument = Worksheets(1)
Set myRange = myDocument.Shapes.Range(1)
myRange.Fill.Patterned msoPatternHorizontalBrick
Este exemplo cria uma matriz que contém todas as AutoFormas de myDocument, usa essa matriz para definir um intervalo de formas e distribui todas as formas horizontalmente nesse intervalo.
Set myDocument = Worksheets(1)
With myDocument.Shapes
numShapes = .Count
If numShapes > 1 Then
numAutoShapes = 1
ReDim autoShpArray(1 To numShapes)
For i = 1 To numShapes
If .Item(i).Type = msoAutoShape Then
autoShpArray(numAutoShapes) = .Item(i).Name
numAutoShapes = numAutoShapes + 1
End If
Next
If numAutoShapes > 1 Then
ReDim Preserve autoShpArray(1 To numAutoShapes)
Set asRange = .Range(autoShpArray)
asRange.Distribute msoDistributeHorizontally, False
End If
End If
End With
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.