Range Property (Shapes Collection) Example
This example sets the fill pattern for shapes one and three on myDocument
.
Set myDocument = Worksheets(1)
myDocument.Shapes.Range(Array(1, 3)) _
.Fill.Patterned msoPatternHorizontalBrick
This example sets the fill pattern for the shapes named "Oval 4" and "Rectangle 5" on 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
This example sets the fill pattern for shape one on myDocument
.
Set myDocument = Worksheets(1)
Set myRange = myDocument.Shapes.Range(1)
myRange.Fill.Patterned msoPatternHorizontalBrick
This example creates an array that contains all the AutoShapes on myDocument
, uses that array to define a shape range, and then distributes all the shapes in that range horizontally.
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