Sub ung()
ActiveShape.OrderFrontOf ActiveShape.ParentGroup
End Sub
Sub ung()
Dim s As Shape, g As Shape
Set s = ActiveShape
ag:
s.OrderFrontOf s.ParentGroup
Set g = s.ParentGroup
If g Is Nothing Then
s.CreateSelection
Exit Sub
Else
g.CreateSelection
GoTo ag:
End If
End Sub
По какому признаку найти?Спасибо!
уточнение
есть на листе несколько групп, надо найти в группе определенный шейп и извлечь его из группы
я сделал через cut > past (разбивая группу и потом группируя обратно, но без нужного шейпа), но работает не быстро, возможно с конструкцией выше ускорить код?
для мадженты ...в моем случае по цвету обводки
Sub ung1()
Dim s As Shape, g As Shape, shy As New ShapeRange
For Each s In ActiveSelection.Shapes.FindShapes(Query:="@outline.color.cmyk.m=100")
ag:
s.OrderFrontOf s.ParentGroup
Set g = s.ParentGroup
If g Is Nothing Then
shy.Add s
Else
GoTo ag:
End If
Next
shy.CreateSelection
End Sub