Thread: Grouping Shapes
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Leo Heuser[_2_] Leo Heuser[_2_] is offline
external usenet poster
 
Posts: 111
Default Grouping Shapes

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/