Syntax

expression.Distribute(DistributeCmd, RelativeTo)

expression A variable that represents a ShapeRange object.

Parameters

Name Required/Optional Data Type Description
DistributeCmd Required Specifies whether shapes in the range are to be distributed horizontally or vertically.
RelativeTo Required Not used in Microsoft Excel. Must be False.

Example

This example defines a shape range that contains all the AutoShapes on myDocument and then horizontally distributes the shapes in this range. The leftmost shape retains its position.

Visual Basic for Applications
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
distribute distribute method

See also: