2016-07-11 24 views

Antwort

2

Sie diesen Code versuchen:

Sub test() 
    EnumShapes ActiveSheet.shapes 
End Sub 

Function EnumShapes(shps As Shapes) 
    Dim shp As Shape 
    Dim subshp As Shape 
    For Each shp In shps 
    Debug.Print shp.Name 
    If shp.Type = msoGroup Then 
     For Each subshp In shp.GroupItems 
     Debug.Print Space(2) + subshp.Name 
     Next subshp 
    End If 
    Next shp 
End Function 

sich eine Gruppe Wenn eine gruppierte Form ist, wird der Code oben nicht die Untergruppen identifizieren, weil flacht Excel die Formen in der GroupItems-Auflistung, aber alle Formen (unabhängig von ihrer Tiefe) werden aufgelistet.

Sie werden Ausgabe wie folgt erhalten:

Rectangle 1 
Group 4 
    Rectangle 2 
    Rectangle 3 
Group 12 
    Rectangle 6 
    Rectangle 7 
    Rectangle 9 
    Rectangle 10