Hi Mat
Here's one way to do it:
Sub MakeShapeRange()
'Leo Heuser, 20 Nov. 2003
Dim Counter As Long
Dim NumShapes As Long
Dim NumShapesToUse As Long
Dim SelectShapes As ShapeRange
Dim ShapeName() As Variant
NumShapesToUse = 0
With ActiveSheet
NumShapes = .Shapes.Count
For Counter = 1 To NumShapes
If Left(.Shapes(Counter).Name, 6) = "Forme " Then
NumShapesToUse = NumShapesToUse + 1
ReDim Preserve ShapeName(1 To NumShapesToUse)
ShapeName(NumShapesToUse) = .Shapes(Counter).Name
End If
Next Counter
Set SelectShapes = .Shapes.Range(ShapeName)
SelectShapes.Select
End With
End Sub
--
Best Regards
Leo Heuser
Followup to newsgroup only please.
"MatP" skrev i en meddelelse
...
Hi,
Just can't figure how to group shapes of a sheet..
something like:
For i = 1 To ActiveSheet.Shapes.Count
If Left(ActiveSheet.Shapes(i).Name, 6) = "Forme " Then AddtoGroup
Next i
I can do this:
ActiveSheet.Shapes.Range(Array("Shape1", "Shape2")).Select
Selection.ShapeRange.Group.Selec
But the "Array" part in my case is variable and I can't find how to put
a variable instead of Array("Shape1", "Shape2")).
Thanks
------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~View and post usenet messages directly from http://www.ExcelForum.com/