Share via


Método ShapeRange.Distribute (Excel)

Distribui horizontal e verticalmente as formas no intervalo especificado de formas.

Sintaxe

expressão. Distribuir (DistributeCmd, RelativeTo)

Expressão Uma variável que representa um objeto ShapeRange .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
DistributeCmd Obrigatório MsoDistributeCmd Especifica se as formas no intervalo serão distribuídas horizontal ou verticalmente.
RelativeTo Obrigatório MsoTriState Não é usado no Microsoft Excel. Deve ser False.

Exemplo

Este exemplo define um intervalo de formas contendo todas as AutoFormas de myDocument e distribui horizontalmente as formas nesse intervalo. A forma da extrema esquerda retém sua posição.

Set myDocument = Worksheets(1) 
With myDocument.Shapes 
    numShapes = .Count 
    If numShapes > 1 Then 
        numAutoShapes = 0 
        ReDim autoShpArray(1 To numShapes) 
        For i = 1 To numShapes 
            If .Item(i).Type = msoAutoShape Then 
                numAutoShapes = numAutoShapes + 1 
                autoShpArray(numAutoShapes) = .Item(i).Name 
            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.