Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Devolve um objeto ShapeRange que representa um subconjunto das formas numa coleção formas .
Sintaxe
expressão. Intervalo (Índice)
expressão Uma variável que representa um objeto GroupShapes .
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 quiser devolver apenas um único membro da coleção. Por exemplo, Shapes(1) é mais simples do que Shapes.Range(1).
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
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
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.